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

如何使用cucumber标签实现cucumber并行执行?

隗翰海
2023-03-14

我正在尝试使用cucumber标签实现并行执行。我在下面附加了我的功能文件,而不是使用多个功能文件,我正在尝试使用cucumber标签实现我的场景的并行执行 @au,@nl,@nz

我知道我们可以使用特性文件来实现并行执行,但我希望使用cucumber标记来并行执行基于区域设置的标记。每个标签都与现有客户进行了相关测试。

注意:我使用的是serenity BDD

 1. browser 1: au (first execute new user, second execution for existing user )
 2. browser 2: nl (first execute new user, second execution for existing user )
 3. browser 3: nz (first execute new user, second execution for existing user )

示例功能(sample.feature

 @au  @smoke
  Scenario: A new user can place a order
    Given the user is on homepage
    When the user perform checkout
    Then order confirmation page is display
    
  @au  @smoke
  Scenario: A new user can place a order
    Given the existing user is on homepage
    When the existing user perform checkout
    Then order confirmation page is display
    
  @nl  @smoke
  Scenario: A new user can place a order
    Given the user is on homepage
    When the user perform checkout
    Then order confirmation page is display
    
  @nl  @smoke
  Scenario: A new user can place a order
    Given the existing user is on homepage
    When the existing user perform checkout
    Then order confirmation page is display
    
    
  @nz  @smoke
  Scenario: A new user can place a order
    Given the user is on homepage
    When the user perform checkout
    Then order confirmation page is display
    
  @nz  @smoke
  Scenario: A new user can place a order
    Given the existing user is on homepage
    When the existing user perform checkout
    Then order confirmation page is display

共有1个答案

徐绪
2023-03-14

如果你用cucumber4

import io.cucumber.core.cli.main

public class MyRunner {

  public static void main(String[] args) {
    Main.run(new String[]{
        "--threads", "3",
        "-t", "@au and @nz",
        "-g", "com.your.glue",
        "src/test/resources/features/",
      }, Thread.currentThread().getContextClassLoader());
  }
}

注:

  1. 这和cucumber6.1.0一起对我有用。
  2. 您甚至可以使用testNG代替main方法。
  3. 您将需要注意web驱动程序线程安全
 类似资料:
  • 我在src/test/resources/feature/中有以下功能文件(单独的功能文件),我想并行运行它们。比如:一个功能文件必须在chrome中执行,另一个必须在另一个chrome实例中执行,如@Tags name所述。 我正在使用Java1.2。5版本,AbstractTestNGCucumberTests作为runner。我可以运行一个功能文件,但当我尝试使用cucumber jvm并行

  • 我想一个接一个地执行两个指定的测试用例,我的测试运行程序配置如下 但是当我运行它时,没有任何场景被执行——只有来自testNG的@Before。 控制台输出:

  • 如何执行cucumber从maven与标签? 我试过的是 mvn清洁测试-Dcucumber。滤器tags=“@TestTag” 我的pom.xmltestng.xml文件,(是否有一种方法可以避免执行脚本from.xml文件,并直接使用场景或功能文件的标记名称?) 使用cucumber.io7.0.0

  • 无法连接实现cucumber-jvm 4.2.3版并行执行所需的所有内容 我的环境-cucumberv4.2.3硒v3.8.1 Junit-4.2 下面是eclipse控制台的输出。但是什么都不执行 我也在使用Pico容器来实现DI。 请指导这里缺少什么,或者实现cucumber-jvm v4并行执行的步骤是什么。如果有人可以分享详细的步骤,这将是感激的,因为我一直试图实施了一个星期,但没有成功至

  • 在对如何并行运行Cucumber测试用例做了大量的研究之后,我发现了下面这篇非常有用的文章: https://www.opencredo.com/2013/07/02/running-cucumber-jvm-tests-in-parallel/ 这篇文章提供了一些很好的信息,可以帮助您开始使用多线程环境,包括一些可以从Github下载的代码。 https://github.com/tristan

  • 我试图将一个maven插件cucumber-jvm-parallel-plugin合并到我的Cucumber-JVM代码中,但遇到了一些问题...我认为我已经正确地配置了,但是我的cucumber特性仍然是一个接一个地运行,而不是并行地运行。 我遵循了两个教程,但找不到哪里出错了,或者如果这是意料之中的: https://opencredo.com/test-automation-concepts