如何与Maven一起在黄瓜中执行测试的并行执行

时间:2020-03-13 04:06:25

标签: maven testng

我已经在黄瓜中设置了并行执行测试,以便在可用的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和执行暂停,其余的失败。

任何人都可以最早让我知道分辨率吗?

非常感谢!

请问我以上几点是否不清楚?

1 个答案:

答案 0 :(得分:1)

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

<!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并行性的更多详细信息以及有关XML运行程序的here。 概念是创建一个扩展抽象testng运行程序的类,然后将其添加到XML文件作为包路径,然后将XML文件作为testng运行。 将来,如果需要,您可以执行Maven命令来运行带有参数的文件,这对于CI / CD工具很有用