与Maven并行运行TestNG测试,并使用Maven传递参数
我在测试中使用与Maven并行运行TestNG测试,并使用Maven传递参数,testng,surefire,Testng,Surefire,我在测试中使用@参数(“DeviceModel”) 我通过testNG.xml文件运行并行3个线程。 在TestNG.XML中,我传递了3个参数 1-st parameter: <parameter name="DeviceModel" value="devicemodel1"> 2-nd parameter: <parameter name="DeviceModel" value="devicemodel2"> 3-rd parameter: <parameter
@参数(“DeviceModel”)
我通过testNG.xml文件运行并行3个线程。
在TestNG.XML中,我传递了3个参数
1-st parameter: <parameter name="DeviceModel" value="devicemodel1">
2-nd parameter: <parameter name="DeviceModel" value="devicemodel2">
3-rd parameter: <parameter name="DeviceModel" value="devicemodel3">
1-st参数:
第二参数:
第三参数:
当testNG.xml执行时,线程1采用第一个参数,线程2采用第二个参数,线程3采用第三个参数。
因此,我得到3个并行线程,每个线程具有不同的参数
现在我希望通过Maven SureFire插件和TestNG进行并行测试。
我在pom.xml中传递以下值
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<parallel>tests</parallel>
<threadCount>3</threadCount>
<includes>
<include>packageName/*Test.java</include>
</includes>
<systemPropertyVariables>
<DeviceModel>devicemodel1</DeviceModel>
<DeviceModel>devicemodel1</DeviceModel>
<DeviceModel>devicemodel1</DeviceModel>
</systemPropertyVariables>
</configuration>
org.apache.maven.plugins
maven surefire插件
2.18.1
测验
3.
packageName/*Test.java
设备模型1
设备模型1
设备模型1
这是行不通的。
我的测试只为每个线程执行第三个参数。
如何使用maven为3个并行线程向TestNg传递3个不同的参数?您可能希望尝试在一个
标记中传递所有参数,并在@DataProvider
或@Factory
内解析它
有关详细信息,请参阅文档也可以在Maven中继续使用TestNG.xml 在本例中,套件文件TestNG.xml位于src/test/resources子文件夹中:
<build>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/TestNG.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
src/测试/资源
真的
org.apache.maven.plugins
maven surefire插件
2.18.1
src/test/resources/TestNG.xml