这是我在这里的第一个问题,我很乐意得到帮助。
很长一段时间以来,我一直在使用 TestNG 作为我框架的一部分。我今天的问题是关于 testng.xml 配置 - 不要并行运行测试。不,我的测试都不是依赖的,它们都是独立的。但是,这是我的要求。
我的 testng.xml 文件如下所示:
<suite name="Smoke Test Suite" verbose="3" parallel="tests" thread-count="2">
<test name="Run on Firefox" preserve-order="true">
<parameter name="browser" value="firefox"/>
<classes>
<class name="com.test1"/>
<class name="com.test2"/>
<class name="com.test3"/>
<class name="com.test4"/>
</classes>
</test>
<test name="Run on IE9" preserve-order="true">
<parameter name="browser" value="iexplore"/>
<classes>
<class name="com.test1"/>
<class name="com.test2"/>
<class name="com.test3"/>
<class name="com.test4"/>
</classes>
</test>
<test name="Run on Google Chrome" preserve-order="true">
<parameter name="browser" value="chrome"/>
<classes>
<class name="com.test1"/>
<class name="com.test2"/>
<class name="com.test3"/>
<class name="com.test4"/>
</classes>
</test>
我希望测试并行运行,但类一个接一个地运行。我目前看到的是,当测试启动时,我打开了 8 个 FF、IE9 和 Chrome 实例。如何配置它以执行“test1”,关闭浏览器,打开新实例,然后运行“test2”等等?
我必须这样做的原因是,我的应用程序在每次测试期间打开了多个窗口。IE9(它是邪恶的浏览器)不知道如何处理这种情况,在测试中途恐慌并失去对窗口的关注。有人建议过,我也发现了同样的情况——最好让一个 IE9 实例运行而没有其他任何东西会中断它。
建议和解决方案将不胜感激。
注意:所有类都在同一个包中。
谢谢,-阿利斯特