好的,所以参考TestNG doc我可以使用<suite parallel="tests">
以顺序(默认情况下在测试套件中)或并行运行测试
现在这是我的TestNG配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Complete test suite">
<listeners>
<listener class-name="com.uas.test.portlet.integration.util.WebDriverListener" />
<listener class-name="org.uncommons.reportng.HTMLReporter" />
</listeners>
<test name="Parallel tests" parallel="methods" thread-count="4">
<groups>
<run>
<exclude name="sequential-test"></exclude>
</run>
</groups>
<packages>
<package name="com.uas.test.portlet.integration.main" />
<package name="com.uas.test.portlet.integration.main.categorymanager" />
<package name="com.uas.test.portlet.integration.main.admin" />
</packages>
</test>
<test name="Sequential tests" parallel="false" >
<groups>
<run>
<include name="sequential-test"></include>
</run>
</groups>
<packages>
<package name="com.uas.test.portlet.integration.main" />
<package name="com.uas.test.portlet.integration.main.categorymanager" />
<package name="com.uas.test.portlet.integration.main.admin" />
</packages>
</test>
</suite>
如您所见,我有两种类型的测试:可以并行运行的测试和其他应该按顺序运行的测试。我的套件中没有parallel=tests
属性,所以<test>
标记以顺序运行,这样我的第一个并行测试组首先运行,然后是顺序运行。
这是完美的,但我想比这更进一步,并且我的顺序测试有2个子组,每个子组可以并行运行彼此,但两者都经过主要的并行测试......遗憾的是我无法做到这一点...... 总结一下我的想法:
1. RUN Parallel tests main group
THEN
2. RUN Sequential tests main group
--> Sequential subgroup A RUNS IN PARALLEL with Sequential subgroup B (test 1 from subgroup A could run in parallel with test 3 from subgroup B, they are independant)
--> Each test within subgroup A should run sequentially
--> Each test within subgroup B should run sequentially
有关如何使用TestNG配置文件的任何想法? (我想避免使用Ant等)。
答案 0 :(得分:1)
两个独立的套房可能有所帮助。它们将按顺序执行。根据您的需要,将测试置于其中。
<suite-files>
<suite-file path="./suite1.xml" />
<suite-file path="./suite2.xml" />
</suite-files>
答案 1 :(得分:0)
从单个套件中运行单独套件的步骤。
(1)创建一个新的套件xml文件,比如MasterSuite.xml,其中包含套件列表:
<suite name="allSuites">
<suite-files>
<suite-file path="suite1.xml" />
<suite-file path="suite2.xml" />
</suite-files>
</suite>
(2)要执行此套件,请使用有关如何执行任何xml套件的一般方法。
注意:套件文件路径是相对于MasterSuite.xml所在的位置。
参考:http://testng.org/doc/documentation-main.html#parallel-running