Дженкинс строит мультиконфигурационный проект с MTAF, не работающим в Sauce Labs
Я настроил среду автоматизации тестирования Magento (MTAF) с Jenkins и Sauce Labs, и все работает хорошо. Однако при создании проекта с несколькими конфигурациями я выбрал еще два браузера из списка браузеров в конфигурации задания Дженкинса для параллельного выполнения.
При сборке он берет браузер из файла конфигурации MTAF (browser.yaml), а не выбирает браузер из конфигурации работы Дженкинса.
Есть ли способ запустить браузер из Jenkins, а не из файла конфигурации MTAF?
1 ответ
MTAF имеет скрипт runtests.sh, который позволяет это делать. Вы можете передать параметры в сценарий, если вы хотите запустить несколько конфигураций или браузеров одновременно. Для передачи параметров используйте следующий шаблон:
runtests.sh application:browser, application:browser
Где application - это имя ссылки на приложение по умолчанию (по умолчанию: *mage).
Вам нужна команда, как это:
/path/to/script/runtests.sh mage:googlechrome, mage:firefox
И используйте его как значение в phpunit в конфигурации Jenkins. Теперь у вас есть что-то вроде этого:
<target name="phpunit" description="Run unit tests with PHPUnit">
<exec command="phpunit --configuration=${basedir}/tests/phpunit.xml
--log-junit ${basedir}/build/logs/junit.xml
--coverage-clover ${basedir}/build/logs/clover.xml
--coverage-html ${basedir}/build/coverage"/>
</target>
Измените команду, указанную выше, и это должно сработать. И наконец, если вы хотите сохранить все эти аргументы phpunit, откройте файл runtests.sh, найдите функцию runTest() и измените строку
eval exec "/usr/bin/phpunit -c ${phpunitArr[${i}]}/phpunit.xml &"
чтобы соответствовать вашим аргументам phpunit:
eval exec "/usr/bin/phpunit -c ${phpunitArr[${i}]}/phpunit.xml --log-junit /path/to/build/logs/junit.xml --coverage-clover /path/to/build/logs/clover.xml &"