开发者设备平台设备运行概览

欢迎使用 Developer Device Platform Device Run,您可以在云端对实体和虚拟 Android 设备以及实体 iOS 设备运行测试。本页介绍了运行 Android 和 iOS 测试的共同点。如需了解特定于平台的步骤,请参阅 Android 的设备运行iOS 的设备运行

如需使用此 Google Cloud CLI,您需要提供 Google Cloud 项目 ID。如需查看命令摘要,请参阅:gcloud beta device-run

请注意,以下标志是必需的:

  • 设备:使用 --device 指定设备:--device shiba-35--device iphonese3-18-4
  • 测试:使用 --test 指定测试 APK 或 IPA:--test /path/to/test.apk--test /path/to/test.ipa

以下配置选项适用于 Android 和 iOS 测试。

输入和输出 Cloud Storage 路径

  • 自定义 Cloud Storage 存储桶:您可以为输入和输出指定自定义 Cloud Storage 存储桶:--bucket-name=my-custom-bucket 如果您未使用 --bucket-name= 标志指定 Cloud Storage 存储桶,Google Cloud CLI 将使用名为 PROJECT_ID-devicerun 的默认存储桶。
  • 输入文件:当您使用 --test--additional-apps--xctestrun-file 标志指定本地路径时,每次执行命令时,Google Cloud CLI 都会自动将其复制到 Cloud Storage 存储桶中的 gs://BUCKET_NAME/automation/inputs/DATE_TIME_FOUR_CHARS_SUFFIX/ 下,其中 BUCKET_NAME 默认为 PROJECT_ID-devicerun
  • 云路径:由于上传大型文件可能非常耗时,因此您可以直接使用其 Cloud Storage gs:// 路径来引用这些文件,从而节省上传时间。
  • 结果文件:输出制品会上传到 Cloud Storage 存储桶中的 gs://BUCKET_NAME/automation/sessions/session-[SESSION_ID]/ 下。

同步运行和异步运行

默认情况下,提交命令是阻塞(同步)的。它将等待测试完成,并输出结果的摘要表格。

如需提交会话并在将文件上传到 Cloud Storage 后立即返回,请添加 --async 标志:

Android

gcloud beta device-run sessions submit instrumentation \
  --device shiba-35 \
  --test ./ANDROID_TESTS.apk \
  --async

iOS

gcloud beta device-run sessions submit xctest \
  --device iphonese3-18-4 \
  --test ./IOS_TESTS.zip \
  --async

此方法会立即返回会话 ID。然后,您可以使用 sessions wait 命令等待该操作完成:

gcloud beta device-run sessions wait SESSION_ID

该命令会一直阻塞,直到作业完成。

多设备

如需在多台设备上运行相同的测试,请提供 --device 标志,其中包含多个以英文逗号分隔的设备 ID,或者提供多个 --device 标志,每个标志指定一个不同的设备 ID。

Android

gcloud beta device-run sessions submit instrumentation \
  --device shiba-34,tokay-36 \
  --test ./ANDROID_TESTS.apk

或:

gcloud beta device-run sessions submit instrumentation \
  --device shiba-34 \
  --device tokay-36 \
  --test ./ANDROID_TESTS.apk

iOS

gcloud beta device-run sessions submit xctest \
  --device iphonese3-18-4,iphonese3-26-3 \
  --test ./IOS_TESTS.zip

或:

gcloud beta device-run sessions submit xctest \
  --device iphonese3-18-4 \
  --device iphonese3-26-3 \
  --test ./IOS_TESTS.zip

测试超时

限制测试的执行时长:

Android

gcloud beta device-run sessions submit instrumentation \
  --device shiba-35 \
  --test ./ANDROID_TESTS.apk \
  --instrumentation-timeout=10m

iOS

gcloud beta device-run sessions submit xctest \
  --device iphonese3-18-4 \
  --test ./IOS_TESTS.zip \
  --xctest-timeout=10m

有效范围为 1m1h,默认值为 5m

后续步骤

使用开发者设备平台运行 Android 测试运行 iOS 测试