好的,所以参考 TestNG doc我可以按顺序(默认情况下在测试套件中)或使用 suite parallel =“tests”并行运行测试. 现在这是我的TestNG配置 ?xml version="1.0" encoding="UTF-8"?!DOCTYPE suite SYSTEM "http://tes
现在这是我的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>标签按顺序运行,使得我的第一个并行测试组首先运行,然后运行顺序测试组.
这是完美的,但我想比这更进一步,并且我的顺序测试有两个子组,每个子组可以相互并行运行,但是在主要的并行测试之后…不幸的是我没有’能够做到这一点……
总结一下我想要的东西:
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等).
两个独立的套房可能有所帮它们将按顺序执行.根据您的需要,将测试置于其中.<suite-files> <suite-file path="./suite1.xml" /> <suite-file path="./suite2.xml" /> </suite-files>