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

5

我希望能够同时在两个设备上运行Android Robotium测试。目前我还没有找到任何解决方案...

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

1个回答

4
你可以使用-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

位置

com.android.foo.FooTest1
com.android.foo.FooTest2

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


谢谢!我更喜欢一种更优雅的方式,但这个方法似乎也能胜任。 - Test123
1
我也希望如此,实际上你可以按照我的建议将其放入脚本中,使其更加优雅。例如,你可以让脚本接收所有要运行的设备和所有要运行的sclasses,并让它执行。另外,当你发现一个答案有用时,正常的做法是点赞(点击上箭头),这样人们就可以轻松地看到它有用或者是否回答了你的问题,如果回答了你的问题,你可以点击打勾标记来接受它作为答案! - Paul Harris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接