为了账号安全,请及时绑定邮箱和手机立即绑定

Cucumber JVM 4.0.0 和 Junit 测试运行程序不会发生并行执行

Cucumber JVM 4.0.0 和 Junit 测试运行程序不会发生并行执行

红糖糍粑 2022-03-10 22:05:37
我无法使用 cucumber JVM 4.0.0 和 Junit testrunner 并行运行功能。我只打开了一个浏览器实例,一旦执行完成,浏览器将关闭并再次打开以执行下一个功能。根据我在 Maven surefire 中的线程数为 3,我希望同时打开 3 个浏览器实例以运行 3 个功能。我已经按照以下链接进行操作,但仍然没有成功。功能一个接一个地运行。我已经为 DI 使用了 Pico 容器。我点击了这个链接用于更新不同版本的 Surefire 插件,但仍然没有运气。我已经为 IO.cucumber Jars 尝试了 4.0.0 和 4.2.0。我尝试了从 2.19 到 2.22 的不同版本的 surefire,但仍然没有运气。我有 3 个功能文件,每个文件都有一个标记为“@Parallel”的场景大纲。我不确定哪里出错了。我尝试过并行Surefire 插件中的“两者”和“方法”。我的 Junit 版本是 4.12。我的测试程序如下。import org.junit.runner.RunWith;import cucumber.api.CucumberOptions;import cucumber.api.junit.Cucumber;@RunWith(Cucumber.class)@CucumberOptions(plugin = {"html:target/cucumber-html-report","json:target/cucumber.json","pretty:target/cucumber-pretty.txt","usage:target/cucumber-usage.json, "junit:target/cucumber-results.xml"},features={"src/test/resources/featuresfiles"},strict=false,dryRun=false,glue={"Stepdef_new.stepdefinitions"},tags={"@Parallel"}}Public class TestRunner{}    
查看完整描述

3 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

您可以尝试删除 testng 依赖项或明确说使用surefire-junit


<plugins>

                    <plugin>

                        <groupId>org.apache.maven.plugins</groupId>

                        <artifactId>maven-surefire-plugin</artifactId>

                        <version>${surefire.version}</version>


                        <configuration>

                            <parallel>methods</parallel>

                            <threadCount>20</threadCount>

                            <!-- <useUnlimitedThreads>true</useUnlimitedThreads> -->

                            <includes>

                                <include>**/JUnitRunner.java</include>

                            </includes>

                        </configuration>



                        <dependencies>

                            <!-- https://maven.apache.org/surefire/maven-surefire-plugin/examples/junit.html 

                                - You can also manually force a specific provider by adding it as a dependency 

                                to Surefire itself: -->

                            <dependency>

                                <groupId>org.apache.maven.surefire</groupId>

                                <artifactId>surefire-junit47</artifactId>

                                <version>${surefire.version}</version>

                            </dependency>

                        </dependencies>


                    </plugin>

                </plugins>

试试这个: https ://github.com/rhapsodyman/cucumber4-parallel


查看完整回答
反对 回复 2022-03-10
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

这可能无关紧要。

我尝试使用 Junit 实现 Cucumber,因为它在功能级别上并行的限制,所以我搬到了 Cucumber-TestNG。

TestNG 它自己支持 Junit。所以在当前设计中只需要改变跑步者类

请看一下这个https://github.com/bhargavQA/selenium-java-cucumber-framewrok.git

这是通过Cucumber TestNG完成的,并支持场景级别的并行执行。


查看完整回答
反对 回复 2022-03-10
?
jeck猫

TA贡献1909条经验 获得超7个赞

您应该使用 maven-failsafe-plugin,而不是万无一失。我将故障安全与 com.github.temyers -cucumber-jvm-parallel-plugin 结合使用


查看完整回答
反对 回复 2022-03-10
  • 3 回答
  • 0 关注
  • 157 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信