我有很多小组,我希望能够并行运行全部或子集,例如-Dgroups = a,b,...我有一个用@BeforeGroups注释注释的方法,需要在组运行之前做一些行为。我看到的行为是当我运行两个特定组时,一个用三个测试,另一个用两个,第一组的前两个测试运行,然后是第二组的两个测试,然后是第一组的最后一个方法。 (基于定义测试的类名的字母顺序)这些方法分布在不同的类中。请帮忙!
的testng.xml
<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
<suite name="API Tests">
<test name="all">
<groups>
<run>
<include name="a" />
<include name="b" />
<include name="c" />
<include name="d" />
<include name="e" />
</run>
</groups>
<packages>
<package name="package.*" />
</packages>
</test>
</suite>
执行顺序(带有混淆的缩写)
Class: E; Method: testF; Group: a
Class: I; Method: testI; Group: a
Class: S; Method: testSH; Group: b
Class: S; Method: testSI; Group: b
Class: T; Method: testF; Group: a
注意:我尝试将线程设置为1,这不会修复测试/组执行的顺序。
答案 0 :(得分:1)
您需要包含线程数。如果你有两组&amp;需要在2个并行线程中运行它们,XML将是 -
<suite name="FooSuite" parallel="tests" thread-count="2">
<test name="Group1">
<groups>
<run>
<include name="1" />
</run>
</groups>
<packages>
<package name="package.*" />
</packages>
</test>
<test name="Group2">
<groups>
<run>
<include name="2" />
</run>
</groups>
<packages>
<package name="package.*" />
</packages>
</test>
允许测试,课程和时间并行运行。方法。您可以相应地设计XML以满足您的要求。