歡迎使用 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 bucket:您可以指定輸入和輸出用的自訂 Cloud Storage bucket:
--bucket-name=my-custom-bucket如果您未使用--bucket-name=旗標指定 Cloud Storage bucket,Google Cloud CLI 會使用名為PROJECT_ID-devicerun的預設 bucket。 - 輸入檔案:使用
--test、--additional-apps或--xctestrun-file標記指定本機路徑時,每次執行指令,Google Cloud CLI 都會自動將檔案複製到gs://BUCKET_NAME/automation/inputs/DATE_TIME_FOUR_CHARS_SUFFIX/下的 Cloud Storage bucket,其中BUCKET_NAME預設為PROJECT_ID-devicerun。 - 雲端路徑:上傳大型檔案可能需要較長時間,因此您可以直接使用 Cloud Storage
gs://路徑參照檔案,節省上傳時間。 - 結果檔案:輸出構件會上傳至 Cloud Storage bucket 的
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 測試。