我在测试中使用 @Parameters("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">
当testNG.xml正在执行时,它需要1-st参数用于thread1,2-nd参数用于线程2,3-rd用于线程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>
这不起作用 . 我的测试仅执行每个线程的第三个参数 . 我怎样才能将3个不同的参数传递给TestNg 3个并行线程与maven?
2 回答
可以继续使用Maven的TestNG.xml .
在此示例中,套件文件TestNG.xml位于src / test / resources子文件夹中:
您可能想尝试在一个
<DeviceModel>
标记中传递所有参数并在@DataProvider
或@Factory
中解析它 . 有关详细信息,请参阅文档enter link description here