当前位置: 首页 > 知识库问答 >
问题:

Cucumber Junit没有并行执行

谢裕
2023-03-14

嘿,我在POM中做了这个配置。xml文件并行运行测试。但当我使用cmd进行“mvn验证”时,只有一个浏览器正在运行一个功能,而在完成一个功能文件的执行后,另一个功能正在运行。这是我的代码和pom。xml请建议我怎么做?

我正在使用cucumber

这是我的pom.xml代码:

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <fork>true</fork>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M6</version>
            </plugin>
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>3.0.0-M6</version>
                <executions>
                    <execution>
                    <goals>
                    <goal>integration-test</goal>
                    </goals>
                    <configuration>
                            <includes>
                            <include>**/MyTestRunner.java</include>
                            </includes>
                            <parallel>methods</parallel>
                            <threadCount>4</threadCount>
                            <perCoreThreadCount>true</perCoreThreadCount>
                    </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        </build>

提前感谢。

共有1个答案

章景同
2023-03-14
I was raised the problem and i solved it by myself it might help someone.
The steps which i did:
1. Added Junit-Jupiter dependency 5.8.2
2. Added surefire-junit47 dependency 2.22.2 inside maven-surefire-plugin itself.

这是我在2022年6月13日做的最新配置。以下是我的完整配置:

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.source>1.8</maven.compiler.source>
        <cucumber.version>7.3.2</cucumber.version>
        <selenium.version>4.1.4</selenium.version>
        <webdrivermanager.version>5.1.1</webdrivermanager.version>
        <org.apache.poi.version>5.2.2</org.apache.poi.version>
        <junit-jupiter-api>5.8.2</junit-jupiter-api>
        <java.version>1.8</java.version>
        <maven.compiler.version>3.8.1</maven.compiler.version>
        <maven.surefire.version>2.22.2</maven.surefire.version>
        <maven.failsafe.version>2.22.2</maven.failsafe.version>
    </properties>

    <dependencies>

        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-jvm</artifactId>
            <version>${cucumber.version}</version>
            <type>pom</type>
        </dependency>

        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>${cucumber.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-plugin</artifactId>
            <version>${cucumber.version}</version>
        </dependency>

        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>${cucumber.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>${cucumber.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>${selenium.version}</version>
        </dependency>

        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>${webdrivermanager.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>${org.apache.poi.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>${org.apache.poi.version}</version>
            <scope>test</scope>
        </dependency>
        
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>${junit-jupiter-api}</version>
            <scope>test</scope>
         </dependency>

    </dependencies>
        <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven.compiler.version}</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <fork>true</fork>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven.surefire.version}</version>
                <dependencies>
                      <dependency>
                           <groupId>org.apache.maven.surefire</groupId>
                           <artifactId>surefire-junit47</artifactId>
                           <version>${maven.surefire.version}</version>
                      </dependency>
                 </dependencies>
              </plugin>
            
              <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>${maven.failsafe.version}</version>
                <executions>
                    <execution>
                    <goals>
                    <goal>integration-test</goal>
                    </goals>
                    <configuration>

                            <includes>
                                <!-- UNCOMMENT BELOW LINE - To execute feature files with single runner -->
                                <include>**/MyTestRunner.java</include>
                            </includes>
                            <!-- UNCOMMENT BELOW 3 LINES - To execute using parallel or combination option -->
                            <parallel>methods</parallel>
                            <threadCount>4</threadCount>
                            <perCoreThreadCount>true</perCoreThreadCount>
                   
                    </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
 类似资料:
  • 我制作了以下cronjob sh文件: 手动运行此文件时,作业将正确运行。

  • 问题内容: 我有一个用例,其中在Completable中初始化一些全局变量,然后在链的下一步(使用运算符)中使用这些变量。 以下样本详细解释了我的用例 说你有一堂课 我有一个这样的Observable, 首先,我正在做一些初始化工作,我希望操作员仅在完成之后才能开始。 这意味着我希望操作员开始时会初始化。 以下是我对这个可观察的订阅 但是当我运行此代码时,出现错误 表示为null, 在执行 。这里

  • 1.3 新版功能. 默认情况下,Fabric 会默认 顺序 执行所有任务(详细信息参见 Execution strategy ),这篇文档将介绍 Fabric 如何在多个主机上 并行 执行任务,包括 Fabric 参数设置、任务独立的装饰器,以及命令行全局控制。 它是如何运转的 由于 Fabric 1.x 并不是完全线程安全(以及为了更加通用,任务函数之间并不会产生交互),该功能的实现是基于 Py

  • 问题内容: 我有 而不是一个一个地执行每个功能,如下所示: 是否有内置的方法可以按类中的顺序遍历并执行每个函数? 问题答案: 不能。您可以访问,并依次调用每个值(对于不可调用的成员会捕获错误),但是顺序不会保留。 像您的示例一样,假设所有函数都没有参数。

  • 问题内容: 我有2个AsyncTask,一个正在创建套接字连接,另一个正在使用那些套接字传输对象。我的代码是这样的: 但是,永远不会创建或执行被调用。我试图更改顺序,但未创建或执行发送器… 怎么了 问题答案: 当HONEY COMB将多个AsyncTask执行从并发更改为顺序执行时,我讨厌它。因此,每次执行AsyncTask时,我都会执行类似的操作。 但是线程池大小为5,如果添加第六个任务,它将被

  • 问题内容: 我的python脚本未在crontab下运行。 我将其放在顶部的python脚本中: 我尝试这样做: 添加到我的: 我的/ var / log / cron文件说: 但是我的脚本没有运行,因为当我检查sql数据库时,什么都没有改变。如果我像这样直接在终端中运行它: 我得到正确的结果。 这是: 每条评论:是的,存在。我也可以使用just直接运行python脚本。作品。所以我不相信这是原因