Cucumber重新运行失败的测试,并使用Cucumber 4.x的testNG runner共同记录结果
我正在尝试执行第二轮仅运行失败的场景,以避免由于环境/网络/测试不稳定而出现错误警报。 我想知道是否有办法只运行一个maven命令来执行以下操作: 1.运行my runner配置中包含的所有场景 2.为此运行创建cucumber.json报告 3.创建失败方案的列表 4.运行失败场景的列表 5.根据第二次运行中失败测试的结果,更改第一次运行中创建的报告的结果,以便在最后,只有在两次运行中失败的场景被标记为失败,并且在第一次运行中失败的测试的最终报告中没有重复项(即第二次运行覆盖第一次运行的结果) 我正在使用黄瓜4.4.0和testNG runner 我尝试使用@ExtendedCucumberOptions(),第一次运行正常,但第二次运行从未发生,引发以下异常: “方法public void com.github.mkolisnyk.cucumber.runner.ExtendedTestNGRunner.feature(cucumber.api.testng.cucucumberFeatureWrapper)需要名为:feature的@DataProvider” 我发现这个问题: 所以,这个cucumber报告库似乎不支持cucumber的更高版本,我无法使用@ExtendedCucumberOptions来提供我所需要的内容 =>我对maven的依赖包括:Cucumber重新运行失败的测试,并使用Cucumber 4.x的testNG runner共同记录结果,cucumber,Cucumber,我正在尝试执行第二轮仅运行失败的场景,以避免由于环境/网络/测试不稳定而出现错误警报。 我想知道是否有办法只运行一个maven命令来执行以下操作: 1.运行my runner配置中包含的所有场景 2.为此运行创建cucumber.json报告 3.创建失败方案的列表 4.运行失败场景的列表 5.根据第二次运行中失败测试的结果,更改第一次运行中创建的报告的结果,以便在最后,只有在两次运行中失败的场景被标记为失败,并且在第一次运行中失败的测试的最终报告中没有重复项(即第二次运行覆盖第一次运行的结果)
<dependency>
<groupId>com.github.mkolisnyk</groupId>
<artifactId>cucumber-runner</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>4.4.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-testng</artifactId>
<version>4.4.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>4.4.0</version>
</dependency>
package runners;
import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;
import org.testng.annotations.DataProvider;
@CucumberOptions(
features = {"src/test/resources/features/"},
glue = {"stepDefinitions"},
tags = {"@magic"},
plugin = {
"pretty"
, "html:target/cucumber"
, "json:target/cucumber/cucumber.json"
, "rerun:target/cucumber/failedTests.txt"
},
monochrome = false
)
public class AreaRunner extends AbstractTestNGCucumberTests {
@Override
@DataProvider(parallel = true)
public Object[][] scenarios() {
return super.scenarios();
}
}
除了@ExtendedCucumberOptions之外,还有其他解决方案吗?第二次运行从未发生的原因是重试功能仅适用于JUnit runner,如所示。谢谢您的回答。我知道@ExtendedCucumberOptions只适用于JUnit。我有一个基于testNG的框架,所以我的问题是testNG是否有类似的东西。