如何在模拟器和实际设备上 运行 CI 中的不同场景?
How do I run different scenarios in CI on emulator and on actual devices?
我们正在针对我们的 android 应用程序使用 calabash-android 到 运行 黄瓜方案。有些场景需要物理设备,而其他场景 运行 只需要模拟器即可。我们如何配置构建,以便在物理设备上标记为 @requires_device 运行 而在模拟器上不标记为 运行 的场景?
如果您使用 Jenkins 作为 CI 服务器,以下是我们针对真实设备制作 Calabash 运行 的步骤:
- 创建slave,也就是本地机器
- 将您的设备连接到此从机(多个设备应该也可以)
- 构建你的 Jenkins 以 运行 在从机上执行 Calabash 的作业:
ADB_DEVICE_ARG=device_id;calabash-android ...
device_id
可以从 adb devices
命令 中检索
由于模拟器也有一个 device_id
,这种方法允许您选择模拟器或真实设备来 运行 所有测试。要 运行 在某些设备上进行选择性测试更加棘手,可能需要您 运行 单独的 calabash-android
命令。
我们正在针对我们的 android 应用程序使用 calabash-android 到 运行 黄瓜方案。有些场景需要物理设备,而其他场景 运行 只需要模拟器即可。我们如何配置构建,以便在物理设备上标记为 @requires_device 运行 而在模拟器上不标记为 运行 的场景?
如果您使用 Jenkins 作为 CI 服务器,以下是我们针对真实设备制作 Calabash 运行 的步骤:
- 创建slave,也就是本地机器
- 将您的设备连接到此从机(多个设备应该也可以)
- 构建你的 Jenkins 以 运行 在从机上执行 Calabash 的作业:
ADB_DEVICE_ARG=device_id;calabash-android ...
device_id
可以从adb devices
命令 中检索
由于模拟器也有一个 device_id
,这种方法允许您选择模拟器或真实设备来 运行 所有测试。要 运行 在某些设备上进行选择性测试更加棘手,可能需要您 运行 单独的 calabash-android
命令。