diff --git a/dev/tests/functional/composer.json b/dev/tests/functional/composer.json index f58a38bd01de370bf36f863920407c5665e0e812..08ac79f0ab6003357be659637f25ef51e009367c 100644 --- a/dev/tests/functional/composer.json +++ b/dev/tests/functional/composer.json @@ -1,10 +1,13 @@ { + "config": { + "sort-packages": true + }, "require": { - "magento/mtf": "1.0.0-rc57", "php": "7.0.2|~7.0.6|~7.1.0", + "allure-framework/allure-phpunit": "~1.2.0", + "magento/mtf": "1.0.0-rc57", "phpunit/phpunit": "~4.8.0|~5.5.0", - "phpunit/phpunit-selenium": ">=1.2", - "allure-framework/allure-phpunit": "~1.2.0" + "phpunit/phpunit-selenium": ">=1.2" }, "suggest": { "netwing/selenium-server-standalone": "dev-master", diff --git a/dev/tests/functional/etc/events.xml b/dev/tests/functional/etc/events.xml index 5be0f8e7d4e9c1f45026b17c1a1c30f30514ac09..e8f0f63334fd3129cfc7fba3d7524e94863b9ccd 100644 --- a/dev/tests/functional/etc/events.xml +++ b/dev/tests/functional/etc/events.xml @@ -10,6 +10,9 @@ <observer class="Magento\Mtf\System\Observer\WebapiResponse"> <tag name="webapi_failed" /> </observer> + <observer class="Magento\Mtf\System\Observer\AllureWebapiResponse"> + <tag name="webapi_failed" /> + </observer> </preset> <preset name="coverage" extends="base"> <observer class="Magento\Mtf\System\Observer\PageUrl"> @@ -32,15 +35,29 @@ <tag name="exception"/> <tag name="failure"/> </observer> + <observer class="Magento\Mtf\System\Observer\AllureSourceCode"> + <tag name="exception"/> + <tag name="failure"/> + </observer> <observer class="Magento\Mtf\System\Observer\Screenshot"> <tag name="exception"/> <tag name="failure"/> </observer> + <observer class="Magento\Mtf\System\Observer\AllureScreenshot"> + <tag name="exception"/> + <tag name="failure"/> + </observer> <observer class="Magento\Mtf\System\Observer\CurlResponse"> <tag name="curl_failed"/> </observer> + <observer class="Magento\Mtf\System\Observer\AllureCurlResponse"> + <tag name="curl_failed"/> + </observer> <observer class="Magento\Mtf\System\Observer\WebapiResponse"> <tag name="webapi_failed" /> </observer> + <observer class="Magento\Mtf\System\Observer\AllureWebapiResponse"> + <tag name="webapi_failed" /> + </observer> </preset> </config> diff --git a/dev/tests/functional/lib/Magento/Mtf/System/Observer/AllureWebapiResponse.php b/dev/tests/functional/lib/Magento/Mtf/System/Observer/AllureWebapiResponse.php new file mode 100644 index 0000000000000000000000000000000000000000..bda514ad9fa856f95623f0b803116232cc12540f --- /dev/null +++ b/dev/tests/functional/lib/Magento/Mtf/System/Observer/AllureWebapiResponse.php @@ -0,0 +1,30 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Mtf\System\Observer; + +use Magento\Mtf\System\Event\Event; + +/** + * AllureWebapiResponse observer. + */ +class AllureWebapiResponse extends AbstractAllureObserver +{ + /** + * Collect response source artifact to storage. + * + * @param Event $event + * @return void + */ + public function process(Event $event) + { + $this->addAttachment( + json_encode($event->getSubjects()[0]), + 'webapi-response-' . $event->getFileIdentifier(), + 'text/json' + ); + } +}