欢迎使用 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
有效范围为 1m 到 1h,默认值为 5m。
后续步骤
使用开发者设备平台运行 Android 测试或运行 iOS 测试。