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

cucumber试验不能并行进行

曾苗宣
2023-03-14

我对cucumber测试框架不熟悉。我的目标是使用Junit和Maven并行运行场景文件。我遵循了以下步骤:https://cucumber.io/docs/guides/parallel-execution/

我有两个功能文件

特点1:

    Feature: Scenarios feature file One

  Scenario: Scenario Number One
    When request is sent to fetch data with user one
    Then check the result

特点2:

Feature: Scenarios feature file One

      Scenario: Scenario Number Two
        When request is sent to fetch data with user two
        Then check the result

我还有一个runner文件,如下所示:

@RunWith(Cucumber.class)
@CucumberOptions(features = { "classpath:features" },
        strict = true,
        glue = {"integration.cucumber.step"},
        plugin = {"pretty", "html:target/report/cucumber", "json:target/report/cucumber/cucumber.json"},
        tags = {"not @Disabled"}
        )
public class CucumberTests {
}

我的POM如下:

    <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>         
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <parallel>methods</parallel>
                        <useUnlimitedThreads>true</useUnlimitedThreads>
                    </configuration>
                </plugin>
       </plugins>  
 <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>4.4.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>4.4.0</version>
            <scope>test</scope>
        </dependency>

当我用mvn清洁安装运行cucumber测试时,两个场景都使用不同的线程运行。但我运行使用运行文件创建(cucumber测试)都运行相同的线程。我如何让他们运行不同的线程使用运行类?

共有1个答案

长孙阳成
2023-03-14

如果您希望通过测试类并行运行,那么测试类需要扩展到TestNG,请尝试以下操作

public class CucumberTests  extends AbstractTestNGCucumberTests{

    @Override
    @DataProvider(parallel = true)
    public Object[][] scenarios() {
        return super.scenarios();
    }
}

您已经并行地使用了方法方法-使用插件-还有classesAndMethods选项,请一定要探索它

<configuration>
    <parallel>classesAndMethods</parallel>
    useUnlimitedThreads>true</useUnlimitedThreads>
</configuration>
 类似资料:
  • Cucumber测试没有并行运行(Cucumber jvm并行插件)? 如果我使用runner类执行测试,一次将执行一个功能文件,但是当将以下插件添加到POM文件时,似乎没有功能文件执行? 即使我指向了正确的功能文件文件夹? 我的POM文件:

  • 我目前正在尝试使用Cucumber实现并行测试运行。我设法使用万无一失的插件同时运行了两个不同的运行程序。现在我想检查是否可以并行运行SingleRunner文件多次。 我有一个签名测试。所以我需要在几个平台上并行运行。有可能吗? 这是我的跑步者档案 无跑道进近 工厂级 `导入org . open QA . selenium . web driver; ` 阶梯班 导入org.openqa.sel

  • 我正在用TestNG运行cucumber。CucumberRunner类扩展了AbstractTestNGCucumberTests,CucumberRunner类在testng.xml文件中指定。 如果我使用TestNG.xml运行一个简单的TestNG类,那么TestNG结果的输出将显示在控制台中,即测试运行、失败、跳过的总数,如下所示:- test.java 如何用Cucumber在控制台中

  • 我在src/test/resources/feature/中有以下功能文件(单独的功能文件),我想并行运行它们。比如:一个功能文件必须在chrome中执行,另一个必须在另一个chrome实例中执行,如@Tags name所述。 我正在使用Java1.2。5版本,AbstractTestNGCucumberTests作为runner。我可以运行一个功能文件,但当我尝试使用cucumber jvm并行

  • 我们希望在Cucumber中使用外部文件(如excel工作表)实现数据驱动测试,而不使用Cucumber提供的DataTable或Examples关键字。 这是我的特征文件 功能:验证登录页方案大纲:使用excel和数据集驱动数据 当我进入登录页面时,我会使用excel行输入用户名和密码。” 在上面的示例中,我们根据文件中提供的行索引从excel读取数据。 很难在功能文件中写入这么多记录,因为数据