我正在尝试在不同的 Android 设备上并行运行我的自动化套件(使用 Selenium Webdriver (Java) + TestNG + Maven 实现)。这是我在xml中的代码:
<test name="Test1">
<parameter name="deviceName_" value="simulator1"/>
<parameter name="port_" value="4723"/>
<classes>
<class name="tests.TotoTests">
<methods>
<include name=".*" />
</methods>
</class>
</classes>
</test>
<!--test name="Test2">
<parameter name="deviceName_" value="simulator2"/>
<parameter name="port_" value="4725"/>
<classes>
<class name="tests.TotoTests">
<methods>
<include name=".*" />
</methods>
</class>
</classes>
</test-->
在 TotoTests 类中,我有 20 个测试。他们每个人都有注释@Test。当我运行 xml 时,两个设备并行运行 TotoTests 类。所以我的 device1(simulator1) 运行了 20 个测试,我的 device2 (simulator2) 也运行了 20 个测试。
但我想要的是,simulator1 运行 TotoTests 中的第一个测试,simulator2 开始运行 TotoTests 中的第二个测试。当一台设备完成后,它将运行 TotoTests 中的第三个测试。然后当其中一台设备完成后,它将运行第 4 次测试。所以要运行 20 个测试,我只需要一半的时间。因为每个设备将只运行 10 次测试,或 9 次测试,或 11 次测试......但不是 20 次测试。
我怎样才能做到这一点?