Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Robotium Android-在两个不同的设备上同时运行相同的测试_Android_Adb_Robotium - Fatal编程技术网

Java Robotium Android-在两个不同的设备上同时运行相同的测试

Java Robotium Android-在两个不同的设备上同时运行相同的测试,android,adb,robotium,Android,Adb,Robotium,我想同时在两台设备上运行Android Robotium测试。我现在找不到任何解决办法 更准确地说,我有一个application-test.apk,它包含多个instrumentation类。我想在两台设备上运行相同的测试apk,但测试类不同。我知道我只能在串行模式下使用adb运行测试。您可以使用-s标志将adb命令指向特定设备。这意味着您可以打开两个终端,使用-s标志运行两个不同的命令,它们将并行运行。显然,很容易将其更改为脚本,使其成为更具可伸缩性的解决方案 示例时间 您有两个设备连接到您

我想同时在两台设备上运行Android Robotium测试。我现在找不到任何解决办法


更准确地说,我有一个application-test.apk,它包含多个instrumentation类。我想在两台设备上运行相同的测试apk,但测试类不同。我知道我只能在串行模式下使用adb运行测试。

您可以使用-s标志将adb命令指向特定设备。这意味着您可以打开两个终端,使用-s标志运行两个不同的命令,它们将并行运行。显然,很容易将其更改为脚本,使其成为更具可伸缩性的解决方案

示例时间

您有两个设备连接到您的计算机,并且您希望在运行时运行两个不同的测试类(每个测试类一个):

adb devices
你看

List of devices attached 
SERIALOFDEVICE1    device1
SERIALOFDEVICE2    device2
然后使用显示的序列,您可以运行以下命令:

adb -s SERIALOFDEVICE1 shell am instrument -w -e class com.android.foo.FooTest1 com.android.foo/android.test.InstrumentationTestRunner

adb -s SERIALOFDEVICE2 shell am instrument -w -e class com.android.foo.FooTest2 com.android.foo/android.test.InstrumentationTestRunner
在哪里


是您希望在每个设备上运行的类。

谢谢!我更喜欢一种非常优雅的方式,但这似乎也能起到作用。我希望也有,事实上,你可以按照我的建议,将它放入脚本中,使其更加优雅,例如,你可以让脚本包含所有你想要运行的设备和所有要运行的SClass,并让它这样做。作为旁注,当你发现一个答案有用时,通常要做的是向上投票(按向上投票箭头)。我让人们很容易看到它有用,或者如果它回答了你的问题,你点击勾号接受它作为答案!
com.android.foo.FooTest1
com.android.foo.FooTest2