我想自动重试失败的测试,以提高测试的可靠性,类似于 Junit 中的 TestRule,我希望能够灵活地在测试周围插入逻辑,以便实现重试循环:
>
我正在使用Cucumber-JVM,需要一个涉及Java或Gradle的解决方案
我通过Gradle javaexec尝试了以下cucumber选项:
//--format pretty--format rerun--out tmp/rerun.txt
//--格式化重新运行--out C:\Desktop\failed.txt
目前我正在尝试通过RunCukesTest.java.
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;
/**
* String dotcucumber
boolean dryRun
String[] features
String[] format
String[] glue
boolean monochrome
String[] name
Specify a patternfilter for features or scenarios
SnippetType snippets
boolean strict
String[] tags
*
*/
@RunWith(Cucumber.class)
@CucumberOptions(monochrome = true)
public class RunCukesTest {
}
把德维斯·苏莱曼的答案从问题中抽出来:
环顾四周,尝试了一些东西后,我最终决定快速而肮脏地解决问题。以下是我的解决方案:
task cucumber() {
dependsOn assemble, compileTestJava
doLast {
javaexec {
main = "cucumber.api.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
args = ['-f', 'rerun:rerun.txt','--glue', 'org.test.cucumber', 'src/test/resources']
}
}
}
task cucumberRerun() {
dependsOn assemble, compileTestJava
doLast {
def file1 = new File('rerun.txt')
for (int i=0;i<file1.getText().split(" ").length;i++) {
println file1.getText().split(" ")[i]
try {
javaexec {
main = "cucumber.api.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
args = ['-f','html:target'+i,'--glue', 'org.test.cucumber', 'src/test/resources/'+file1.getText().split(" ")[i]]
}
} catch (Exception e) {
}
}
}
}
cucumber.finalizedBy cucumberRerun
我不确定如何在cucumber-JVM中实现它。有线索吗?
我有一个示例项目,其中使用了Maven、TestNg和Cucumber。我使用testrunner类运行测试。 我创建了一个包含两个方案的功能文件,但两个方案都失败了。我有两个具有不同功能文件的测试运行者类 - 1。特征文件指向所有功能,2。指向仅失败的方案。 当我尝试重新运行场景时,它只运行一个场景。 1- 请告知如何执行所有失败的方案。
我正在使用 jvm cucumber并行插件,并希望重新运行我失败的测试用例。需要在 文件中进行哪些更改。
我在selenium firefox webdriver上运行了Cumber JVM测试。在eclipse上运行测试时一切都很正常,但当它们在Jenkins上运行时,浏览器上的url设置正确,但页面永远不会加载。Jenkins安装在windows机器上(不是无头)。可能很简单,但我似乎在网上找不到任何能给我指明正确方向的东西。 这篇文章(詹金斯与Xvfb和硒 - 火狐开始但什么都没有执行)指向硒更
我正试图在Maven中基于cucumber标记运行一套JUnitCucumber特性。我可以让它们按顺序运行,但不能并行运行。我找到了一个名为小胡瓜的软件包,它可以帮我解决这个问题。 然而,我无法让测试运行,我看了github上的示例maven项目,它在Cucumber.class运行良好,但在西葫芦上抛出一个错误。 任何帮助将不胜感激。 我已在pom中包括以下内容 我是在召唤我的跑步者。 我得到
我在cucumber和Gradle和TestNG一起用硒。同一场景对多个参数(示例)运行。我面临的问题是,对于第一次断言成功,浏览器(驱动程序)关闭。但是对于随后的断言失败,浏览器(驱动程序)不会关闭,而是为下一组值启动一个新的浏览器实例。 请建议如何克服这个问题。我有没有办法在这里使用@beforeTest@afterTest?