magento - Jenkins 使用 MTAF 构建多配置项目,但不适用于 Sauce Labs

标签 magento jenkins saucelabs mtaf multi-configuration

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

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

有没有办法从 Jenkins 执行浏览器,而不是从 MTAF 的配置文件?

最佳答案

MTAF 有 runtests.sh 脚本允许这样做。如果您想同时运行多个配置或浏览器,您可以将参数传递给脚本。对于传递参数使用下一个模板:

runtests.sh application:browser, application:browser

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

你需要这样的命令:
/path/to/script/runtests.sh mage:googlechrome, mage:firefox

并将其用作 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>

更改为上面提供的命令,它应该可以解决问题。
最后,如果您想保留所有这些 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 &"

关于magento - Jenkins 使用 MTAF 构建多配置项目,但不适用于 Sauce Labs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16459323/

相关文章:

php - Magento:如何将小部件放入布局 xml 中?

magento - 错误 : "There was a p‌r‌o‌b‌l‌e‌m saving package data" - Magento

php - 如何在 Magento 中以编程方式更新属性选项?

php - Magento 获取产品系列按商店 ID 过滤

java - 在 SauceLabs 上运行 Android WebDriver 测试

groovy - 如何运行具有依赖项的Java groovy混合项目

ant - SonarQube 分析需要太多时间

java - Jenkins java.net.UnknownHostException 错误

maven - Jenkins 中的 Nexus 凭证

java - 使用 Saucelabs 和 QAF 框架并行执行多个操作系统、浏览器