0

我们正在使用 calabash-android 针对我们的 android 应用程序运行黄瓜场景。有些场景需要物理设备,而其他场景仅在模拟器上运行良好。我们如何配置构建以便标记为@requires_device 的场景在物理设备上运行但不在模拟器上运行?

4

1 回答 1

1

如果您使用 Jenkins 作为 CI 服务器,以下是我们为使 Calabash 在真实设备上运行而执行的步骤:

  • 创建一个slave,它是一个本地机器
  • 将您的设备连接到这台从机(多个设备也应该可以工作)
  • 构建您的 Jenkins 以运行在从机上执行 Calabash 的作业: ADB_DEVICE_ARG=device_id;calabash-android ...
    device_id可以从adb devices命令中检索

由于 emulator 也有device_id,这种方法允许您选择 emulator 或 real device(s) 来运行所有测试。在某些设备上运行选择性测试更加棘手,可能需要您运行单独的calabash-android命令。

于 2015-02-27T14:32:08.807 回答