在并行运行测试时,我在运行adb命令时遇到问题。 这些测试在它捕获的第一个设备上执行adb,而没有连接另一个设备。
testng.xml
null
设置类:
<test name="test">
<parameter name = "device" value="df74784"></parameter>
<classes>
<class
name="com.mrl.appium.testcases.SelendroidHomeScreenValidationTest">
</class>
</classes>
</test>
<test name="test1">
<parameter name = "device" value="qvs33434"></parameter>
<classes>
<class
name="com.mrl.appium.testcases.SelendroidHomeScreenValidationTest">
</class>
</classes>
</test>
ADB类:
public class BaseClass
@parameter("device")
@BeforeClass
public void setup(device){
capabilities.setCapability("udid",device)
ADB adb = new ADB(device)
测试类:
public class ADB {
private String ID;
public ADB(String deviceID) {
ID = deviceID;
}
public void forceStopApp(String packageID) {
command("adb -s " + ID + " shell am force-stop " + packageID);
}
}
如何在两个设备上运行测试?
我一直在考虑将每个设备都放在另一个线程中,但是不知道如何执行此操作。