我正在对 android 设备进行一些测试。我正在使用 Jenkins 来运行测试(通过作业),当只有 1 个设备连接到机器时,每个作业以 95% 的成功率运行,但是当我插入 2 个或更多 android 设备时,似乎 adb 有一些麻烦,我获得5%的成功率。
可以运行多个 adb 命令实例吗?
这是我为每个作业运行的命令:
adb -s DEVICESERIAL shell am force-stop com.myapp.test
adb -s DEVICESERIAL shell am force-stop com.myapp
adb -s DEVICESERIAL uninstall com.myapp adb -s DEVICESERIAL uninstall com.myapp.test
adb -s DEVICESERIAL install -r com.myapp adb -s DEVICESERIAL install -r com.myapp.test
adb -s DEVICESERIAL shell am instrument -w TESTNAME/android.test.InstrumentationTestRunner
adb -s DEVICESERIAL logcat -d -v time
所有命令都成功运行,但是当测试开始并且我连接了多个设备时,我收到错误,例如:
- Unable to find instrumentation target package
- INSTRUMENTATION_STATUS_CODE: 0
- Failure [INSTALL_FAILED_INVALID_URI]
起初我以为测试apk没有正确安装,但是在失败后手动尝试时,它工作正常(所以安装了测试文件)
再次。仅使用 1 台设备,一切都很稳定。
为了在不同的设备上同时安装和运行测试,有什么特别的事情要做吗?
请注意,我尝试过不同的 USB 端口、不同的电缆等...
谢谢