【发布时间】:2017-08-01 07:52:00
【问题描述】:
如何在 testng 中并行运行两个类,一个有参数,一个没有参数。我有以下课程:
A 类(没有参数) B 类(有参数) C类(无参数)
Q.1:如果我并行运行 A 类和 B 类然后是 C 类,我该如何配置我的“.xml”?
【问题讨论】:
标签: xml selenium selenium-webdriver testng
如何在 testng 中并行运行两个类,一个有参数,一个没有参数。我有以下课程:
A 类(没有参数) B 类(有参数) C类(无参数)
Q.1:如果我并行运行 A 类和 B 类然后是 C 类,我该如何配置我的“.xml”?
【问题讨论】:
标签: xml selenium selenium-webdriver testng
当使用 TestNG 6.12(我们所说的它尚未发布)时,你会像这样使用它
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="1265_Suite" parallel="classes" verbose="2">
<test name="One">
<classes>
<class name="com.rationaleemotions.stackoverflow.ParameterizedClass">
<parameter name="browsername" value="firefox"/>
</class>
<class name="com.rationaleemotions.stackoverflow.ChildClassOne">
<parameter name="foo" value="bar"/>
</class>
</classes>
</test>
</suite>
TestNG 6.12 发布后,您无需执行以下操作(因为修复了与类级别 <parameters> 相关的错误),但在此之前您可以执行以下操作:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="1265_Suite" parallel="tests" verbose="2">
<test name="One">
<parameter name="browsername" value="firefox"/>
<classes>
<class name="com.rationaleemotions.stackoverflow.ParameterizedClass">
</class>
</classes>
</test>
<test name="Two">
<classes>
<class name="com.rationaleemotions.stackoverflow.AnotherClass">
</class>
</classes>
</test>
</suite>
【讨论】:
您需要在xml中添加parallel="methods"和thread-count="2",如下所示:-
<suite name="Parallel test suite" parallel="methods" thread-count="2">
我没有尝试过,但如果你不在任何类中使用参数应该没有问题,因为参数注释只是用来提供你的数据。 只是不要为你不使用的测试定义参数,或者只是不使用你不想要的参数的注释
例子:-
https://www.tutorialspoint.com/testng/testng_parameterized_test.htm
【讨论】: