我有一个相当大的Selenium/Cucumber测试套件,它运行在Java/Spring-Boot/Angular环境中。
这个问题是经典的:由于页面故障和/或服务器/环境问题而导致测试不稳定。
我知道有一种方法可以让cubber重试失败的测试很多次,我见过一些相当先进的解决方案,比如创建一个失败的测试列表,然后重新运行这些测试,等等。
但我遇到了这个,据说可以在较新的 cucumber 版本:
cucumber --retry 2
问题是:如何在我的设置中实现这一点?
下面是我的CucumberTest.java文件,其中指定了插件、功能位置等:
Slf4j
@RunWith(Cucumber.class)
@CucumberOptions(
plugin = { "pretty", "json:target/cucumber.json", "html:target/cucumber-html-report", },
tags = { "~@integration", "~@Ignore", "~@ToggledOff", "~@Known_error" },
features = { "src/test/resources/features" })
public class CucumberTest {
@BeforeClass
public static void setup() {
log.info("\n\n-------------------------------------------------------\n" +
" RUN ALL SCENARIOS FOR System\n" +
"\n-------------------------------------------------------\n"
);
}
@AfterClass
public static void quitTestSuite() {
Hooks.closeConnections();
Hooks.stopWatchTotalTime.stop();
StringBuilder slowTests = findPotensialSlowTests();
log.info("\n\n-------------------------------------------------------" +
"\nALL SCENARIOS FINISHED FOR SYSTEM" +
"\nTotal time : {}" +
"\nNumber of scenarios: {}" +
slowTests.toString() +
"\n-------------------------------------------------------\n"
, Hooks.stopWatchTotalTime, Hooks.scenarioCounter.get());
}
有什么想法吗?这个文件中有那个(可能还有其他) cucumber 选项的位置吗?或者其他地方?所有的帮助/提示都很感激。
1条答案
按热度按时间g52tjvyc1#
您可以在
@CucumberOptions
注解内的CucumberTest.java
文件中的以下行之后添加retry = 2
行