【问题标题】:Testing multiple Android devices on one machine在一台机器上测试多个 Android 设备
【发布时间】:2023-04-01 07:00:01
【问题描述】:

我有两个不同的 Android 设备插入同一台机器。我想做的是针对每个设备并分别对其执行测试。

不幸的是,似乎我每次都需要拔下其中一个设备来运行测试,因为如果我不这样做,我会收到以下错误:

error: more than one device and emulator

是否有人知道解决此问题的方法,以便我可以简单地将两个设备都插入并运行我的测试?

【问题讨论】:

标签: android testing device calabash-android


【解决方案1】:

在新的 Android Studio Artic Fox 中(在之前的编号系统中应该是 Android Studio 4.3,目前仍处于测试阶段)您可以同时在多台机器上运行测试。

https://developer.android.com/studio/preview/features?utm_source=android-studio-2020-3-1&utm_medium=studio-assistant-preview#instrumentation-testing

要利用此功能:

  1. 在目标设备下拉菜单中选择“选择多个设备”(在 IDE 的顶部中心)。

  1. 选择目标设备并点击确定。

  1. 运行您的测试。

要在“运行”面板中查看您的测试结果,请转至 View > Tool Windows > Run

【讨论】:

    【解决方案2】:

    以下命令对我有用:

    calabash-android run your_app.apk ADB_DEVICE_ARG=<your_device_id>

    希望有所帮助

    【讨论】:

      【解决方案3】:

      您需要将ADB_DEVICE_ARG 环境变量设置为adb devices 返回的设备序列号。

      所以补充Robert的回答:

      $ 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 测试,最好从单独的根文件夹运行它们,或者将结果指定在不同的文件夹中,以免结果混淆。

      【讨论】:

      • 如果你在 Windows 上开发,你可以使用SET 来定义环境变量。 set ADB_DEVICE_ARG=emulator-5554 然后在下一行做你的calabash-android run yourapk.apk
      【解决方案4】:

      你可以在adb命令上用-s指定目标设备

      1) 获取设备序列号

      $ adb devices 
      List of devices attached 
      emulator-5554  device
      emulator-5556  device
      emulator-5558  device
      

      2) 使用 -s 参数将 serialNumber 传入 adb 命令

      $ adb -s <serialNumber> <command> 
      

      例如

      $ adb -s emulator-5556 install helloWorld.apk
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-05
        • 2018-06-18
        • 1970-01-01
        • 2019-05-02
        • 1970-01-01
        • 2015-12-11
        相关资源
        最近更新 更多