【问题标题】:How to perform parallel execution of tests in cucumber along with maven如何在 Cucumber 和 Maven 中并行执行测试
【发布时间】:2020-03-13 04:06:25
【问题描述】:

我已经在 cucumber 中设置了并行执行测试,以便在可用的 Android 设备上运行并行测试。以下是我执行的步骤。我已经通过参考黄瓜文档https://cucumber.io/docs/guides/parallel-execution/#testng

第 1 步:在我的 TestRunner 类中扩展 AbstractTestNGCucumberTests 类并添加到下面的方法

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

第 2 步:在 pom.xml 中,我在配置标签内添加了以下参数

<parallel>methods</parallel>
<threadCount>4</threadCount>

例如,如果有 5 个测试用例要运行,当我尝试从 pom.xml/TestRunner 类文件中执行时。 4 个设备正在启动,只有第一个设备执行一个测试用例。其余的通过抛出 SessionNotCreatedException 失败并且执行停止。

谁能尽快告诉我解决方案?

非常感谢!

如果我以上几点有什么不清楚的地方,请告诉我?

【问题讨论】:

    标签: maven testng


    【解决方案1】:

    您可以通过不同的方式实现并发测试。我建议遵循这种方式,因为您使用 Maven、TestNG 和 Cucumber。 您可以使用并行配置创建 TestNG xml 运行程序文件,并将您的启动器添加到文件中(类路径)。

    <!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
    <suite name="My suite" parallel="classes" thread-count="5">
    
      <test name="Nopackage" >
    
        <classes>
    
           <class name="NoPackageTest" />
    
        </classes>
    
      </test>
    
     
    
      <test name="Regression1">
    
        <classes>
    
          <class name="test.sample.ParameterSample"/>
    
          <class name="test.sample.ParameterTest"/>
    
        </classes>
    
      </test>
    
    </suite>
    

    Here 你可以找到更多关于 TestNG 并行性和here 关于 xml 运行器的细节。 这个概念是创建一个扩展抽象 testng 运行器的类,然后将其作为包路径添加到 XML 文件中,然后将 xml 文件作为 testng 运行。 以后可以根据需要执行 Maven 命令来运行带参数的文件,这对 CI/CD 工具很有用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-16
      • 2019-03-30
      • 1970-01-01
      • 1970-01-01
      • 2020-12-27
      • 1970-01-01
      • 1970-01-01
      • 2017-01-09
      相关资源
      最近更新 更多