我有两个不同的 Android 设备插入同一台机器。我想做的是针对每个设备并分别对其执行测试。
不幸的是,似乎我每次都需要拔下其中一个设备来运行测试,因为如果我不这样做,我会收到以下错误:
error: more than one device and emulator
有谁知道这个问题的解决方法,以便我可以简单地将两个设备都插入并运行我的测试?
我有两个不同的 Android 设备插入同一台机器。我想做的是针对每个设备并分别对其执行测试。
不幸的是,似乎我每次都需要拔下其中一个设备来运行测试,因为如果我不这样做,我会收到以下错误:
error: more than one device and emulator
有谁知道这个问题的解决方法,以便我可以简单地将两个设备都插入并运行我的测试?
您需要将ADB_DEVICE_ARG
环境变量设置为由adb devices
.
所以要补充罗伯特的答案:
$ adb devices
List of devices attached
emulator-5554 device
emulator-5556 device
emulator-5558 device
$ ADB_DEVICE_ARG=emulator-5554;calabash-android run yourapk.apk
如果您需要在多个设备上同时运行相同的 Calabash 测试,最好从单独的根文件夹中运行它们,或者在不同的文件夹中指定结果,以免结果混淆。
您可以在 adb 命令中使用 -s 指定目标设备
1)通过执行获取设备序列号
$ adb devices
List of devices attached
emulator-5554 device
emulator-5556 device
emulator-5558 device
2) 使用 -s 参数将序列号传入 adb 命令
$ adb -s <serialNumber> <command>
例如
$ adb -s emulator-5556 install helloWorld.apk
在新的 Android Studio Artic Fox 中(在之前的编号系统中应该是 Android Studio 4.3,目前仍处于测试阶段),您可以同时在多台机器上运行测试。
要利用此功能:
- 在目标设备下拉菜单中选择选择多个设备(在 IDE 的顶部中心)。
- 选择目标设备并单击确定。
- 运行你的测试。
要在“运行”面板中查看您的测试结果,请转到
View > Tool Windows > Run
。
以下命令对我有用:
calabash-android run your_app.apk ADB_DEVICE_ARG=<your_device_id>
希望有所帮助