我正在使用 jvm cucumber并行插件,并希望重新运行我失败的测试用例。需要在 .pom
文件中进行哪些更改。
<plugin>
<groupId>com.github.temyers</groupId>
<artifactId>cucumber-jvm-parallel-plugin</artifactId>
<version>4.2.0</version>
<executions>
<execution>
<id>generateRunners</id>
<phase>generate-test-sources</phase>
<goals>
<goal>generateRunners</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/runner</outputDirectory>
<glue>
<package>com.xxx.stepdefs</package>
<package>com.xxx.cucumber.hooks</package>
</glue>
<featuresDirectory>src/test/resources/feature</featuresDirectory>
<cucumberOutputDir>${basedir}/target/cucumberreport/json</cucumberOutputDir>
<format>json</format>
<strict>true</strict>
<plugins>
<plugin>
<name>json</name>
</plugin>
</plugins>
<useTestNG>true</useTestNG>
<namingScheme>pattern</namingScheme>
<namingPattern>Parallel{c}TestRunner</namingPattern>
<parallelScheme>FEATURE</parallelScheme>
</configuration>
</execution>
</executions>
</plugin>
您可以尝试使用 maven-surefire-plugin
重新运行失败的测试,如下所示:
<configuration>
<rerunFailingTestsCount>3</rerunFailingTestsCount>
</configuration>
并添加如下插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
</plugin>
整个 .pom
文件如下所示:
<plugin>
<groupId>com.github.temyers</groupId>
<artifactId>cucumber-jvm-parallel-plugin</artifactId>
<version>4.2.0</version>
<executions>
<execution>
<id>generateRunners</id>
<phase>generate-test-sources</phase>
<goals>
<goal>generateRunners</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/runner</outputDirectory>
<glue>
<package>com.xxx.stepdefs</package>
<package>com.xxx.cucumber.hooks</package>
</glue>
<featuresDirectory>src/test/resources/feature</featuresDirectory>
<cucumberOutputDir>${basedir}/target/cucumberreport/json</cucumberOutputDir>
<format>json</format>
<strict>true</strict>
<plugins>
<plugin>
<name>json</name>
</plugin>
</plugins>
<useTestNG>true</useTestNG>
<namingScheme>pattern</namingScheme>
<namingPattern>Parallel{c}TestRunner</namingPattern>
<parallelScheme>FEATURE</parallelScheme>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
<configuration>
<surefire.rerunFailingTestsCount>3</surefire.rerunFailingTestsCount>
</configuration>
</plugin>
注意:只有< code>JUnit 4.x支持此功能。
更多信息可在此处的官方文档中找到。
还有一个自定义的<code>gitHub</code>项目,它扩展了<code>Cucumber</code>选项,允许设置重新运行失败的测试计数,甚至有条件重新运行。您可以在此处查看:
PS:您也可以在此处查看答案。
我试图将一个maven插件cucumber-jvm-parallel-plugin合并到我的Cucumber-JVM代码中,但遇到了一些问题...我认为我已经正确地配置了,但是我的cucumber特性仍然是一个接一个地运行,而不是并行地运行。 我遵循了两个教程,但找不到哪里出错了,或者如果这是意料之中的: https://opencredo.com/test-automation-concepts
如何使用Maven在以下位置运行cucumber测试。 源文件夹'src/main/java'和'src/main/resources'包括在每个源文件夹中创建的包'com.testing.testproject.login'中的步骤定义和功能文件。 这是我的POM文件: 提前道谢。
我正在尝试执行第二轮仅运行失败的场景,以避免由于环境/网络/测试不稳定而出现错误警报。我想知道是否有办法只运行一个maven命令来执行以下操作:1。运行my runner在其配置2中包含的所有方案。制作cucumber。此运行3的json报告。创建失败场景的列表4。运行失败场景列表5。根据第二次运行中失败测试的结果,更改第一次运行中创建的报告的结果,以便在最后,只有在两次运行中失败的场景被标记为失
我已经建立了一个cucumberjava硒项目,我想在我的管道中添加重新运行阶段。使用运行器AllTestRunner中的@rerun插件.java我能够创建一个仅失败测试的重新运行.txt并使用maven-surefire-plugin,我创建了一个第二个运行器FailedRunner.java用于自动执行,仅失败的测试。 问题是FailedRunner.java不仅执行失败的测试,还执行All
我想自动重试失败的测试,以提高测试的可靠性,类似于 Junit 中的 TestRule,我希望能够灵活地在测试周围插入逻辑,以便实现重试循环: > 我正在使用Cucumber-JVM,需要一个涉及Java或Gradle的解决方案 我通过Gradle javaexec尝试了以下cucumber选项: //--format pretty--format rerun--out tmp/rerun.txt
我正在使用SeleniumWebDriver(2.53.0版)的Java实现对web应用程序运行一些自动化测试。测试使用Cucumber的Java实现(版本1.2.3)以行为驱动测试格式编写。我使用Maven(3.3.9版)导入我的所有依赖项,并构建和运行测试。使用cucumber标签将测试分为不同类别。例如,我可以使用以下命令从命令行运行一类标有@JohnnyBravo的测试: 在做了一些研究后