如何 运行 在 Sauce Labs 中与 AllureTestRunner 一起并行执行 junit Selenium 测试?

How to run junit Selenium tests in parallel at Sauce Labs together with AllureTestRunner?

我们使用 AllureTestRunner (https://github.com/allure-examples/allure-gradle-junit-example/blob/master/src/test/java/ru/yandex/qatools/allure/junit/BaseTest.java) 运行 junit selenium 测试并生成 allure 报告。

而且我们还需要在 Sauce Labs 中并行 运行 它们。为此有 运行ner:ConcurrentParameterized(https://github.com/saucelabs-sample-test-frameworks/Java-Junit-Selenium/blob/master/src/test/java/com/yourcompany/Tests/TestBase.java).

JUnit 不允许使用多个@RunWith 注释。

可以合并两个 运行ners 吗?

问题是无法使用 Gradle 将侦听器添加到 JUnit。几乎没有可用的解决方法。第一个是使用添加侦听器的自定义 Runner,另一个是使用 AspectJ 魔术来完成此操作。更多详情可以看下面Gradle期https://github.com/gradle/gradle/issues/1330

目前有一个 Gradle 插件 https://github.com/d10xa/gradle-allure-plugin 可以使用 AspectJ 将侦听器添加到 JUnit。所以只需删除 AllureTestRunner 并改用插件。

更新

支持 Allure 2 的新 Allure Gradle 插件现已推出。有关详细信息,请参阅文档 https://docs.qameta.io/allure/2.0/#_gradle_3