如何使用jvm-cucumber-parallel-plugin重新运行失败的测试

时间:2018-07-11 09:59:38

标签: xml selenium cucumber cucumber-jvm cucumber-java

我正在使用jvm黄瓜并行插件,并想重新运行失败的测试用例。在.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>

1 个答案:

答案 0 :(得分:2)

您可以尝试使用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>

注意: :仅JUnit 4.x支持此功能。

更多信息可以在官方文档here中找到。

还有一个自定义的gitHub项目,该项目扩展了Cucumber选项,并允许设置重新运行失败的测试计数,甚至是有条件的重新运行< / em>。您可以在这里检查它:

PS: ,您还可以查看答案here