Jenkins使用MTAF在Sauce Labs上无法正常运行构建多配置项目

Dha*_*gam 5 magento jenkins saucelabs mtaf multi-configuration

我与Jenkins和Sauce Labs配置了Magento测试自动化框架(MTAF),一切运行正常。但是,在构建多配置项目时,我从Jenkins作业配置的浏览器列表中选择了另外两个浏览器以并行执行。

进行构建时,它是从MTAF配置文件(browser.yaml)中获取浏览器,而不是从Jenkins的作业配置中选择浏览器。

有什么方法可以从Jenkins而非MTAF的配置文件执行浏览器吗?

Tox*_*Bes 0

MTAF 有 runtests.sh 脚本,允许执行此操作。如果您想同时运行多个配置或浏览器,您可以将参数传递给脚本。要传递参数,请使用下一个模板:

runtests.sh application:browser, application:browser
Run Code Online (Sandbox Code Playgroud)

其中应用程序是默认应用程序的链接名称(默认情况下:*mage)。

你需要这样的命令:

/path/to/script/runtests.sh mage:googlechrome, mage:firefox
Run Code Online (Sandbox Code Playgroud)

并将其用作 Jenkins 配置中 phpunit 中的值。现在你有这样的东西:

<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>
Run Code Online (Sandbox Code Playgroud)

更改为上面提供的命令,它应该可以解决问题。最后,如果您想保留所有 phpunit 参数,请打开文件 runtests.sh,找到函数 runTest() 并更改行

eval exec "/usr/bin/phpunit -c ${phpunitArr[${i}]}/phpunit.xml &"
Run Code Online (Sandbox Code Playgroud)

与您的 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 &"
Run Code Online (Sandbox Code Playgroud)