下面的我的TestNG配置无效:
<test verbose="2" name="JavaScript Layer Tests" preserve-order="true" parallel="false">
<packages>
<package name="com.bla.foo"/>
<package name="com.bla.bar/>
</packages>
</test>
我基本上想要按顺序运行这些包中的TestNG
类,并且没有并行性。每个类的方法都使用@dependsOnMethods
。
这里的原因是我使用的是Selenium
,我需要一次只打开一个浏览器。
如果我切换TestNG
的xml文件列出所有类,那么它工作正常,但这使得添加新类需要更改xml文件。
有没有办法让它适用于包?我尝试将并行设置为true并限制为1个线程,但这也不起作用。
答案 0 :(得分:0)
让我猜一下,您可以使用Eclipse运行此TestNG文件。无需在xml中配置什么,您必须检查是否在IDE中运行配置。如果你试图用你的XML在'test'mode中运行测试,但你的IDE可以在'class'mode或'methods'模式中运行它。请交叉检查一次。
更新:我不认为parallel属性将值视为false,请参阅official documentations。只需删除该属性,然后尝试如下,
<test verbose="2" name="JavaScript Layer Tests" preserve-order="true">
<packages>
<package name="com.bla.foo"/>
</packages>
<packages>
<package name="com.bla.bar/>
</packages>
</test>
注意:确保每个包只有一个TestNG类文件。
答案 1 :(得分:0)
我们可以按以下方式指定包。希望这有帮助
<suite>
<test name="Any logical name" preserve-order="true" verbose="2">
<packages>
<package name="Name of the package 1" />
</packages>
</test>
<test name="Any logical name" preserve-order="true" verbose="2">
<packages>
<package name="Name of the package 2" />
</packages>
</test>
</suite>