我們很高興宣布,Developer Device Platform (DDP) 的 gcloud beta device-run 指令列介面搶先版已推出,這是 gcloud
firebase test CLI 的強化版本。
gcloud beta device-run CLI 可簡化並現代化裝置上的自動化和檢測設備測試執行作業,無論是實體或虛擬裝置都適用。在預先發布版本中,系統支援 Android Instrumentation 和 iOS XCTest。如需操作說明,請參閱「裝置執行總覽」。
總覽與優點
從 Firebase Test Lab 轉移至 Developer Device Platform (DDP) 有幾項主要優點,特別是在節省成本、測試執行速度、進階偵錯,以及內建支援 AI 驅動的工作流程方面。
在雲端執行行動裝置測試的開發人員,必須在不同設定模型 (Firebase Test Lab) 之間切換,或維護額外的管道和工具包裝層 (Flank)。
開發人員裝置平台中的 gcloud beta device-run CLI 會將這些功能直接併入核心 Google Cloud CLI。這個介面提供更強大、宣告式且可擴充的後端介面,可在實體和虛擬裝置上以可預測的方式有效率地執行測試。
與 Firebase Test Lab 相比,DDP 的主要功能和特色包括:
進階智慧分片
Firebase Test Lab 會根據單次執行的時間資料來分片測試,但 DDP 的 智慧分片功能更聰明:
- 30 天的歷來資料:DDP 最多會分析 30 天的執行記錄,將測試分配到穩定且經過最佳化的分片。
- 追蹤特定裝置的持續時間:DDP 會追蹤每個特定裝置型號的測試執行時間,而不是使用所有裝置的廣義平台平均值。
- 自動調度管理工具的負荷模型:DDP 會考量每個測試執行個體的 Android Test Orchestrator 啟動負荷,確保分片不會超出目標時間長度。
精細且符合成本效益的重試機制
在 Test Lab 中,如果分片內的單一測試案例失敗,就必須重試整個分片 (可能包含數十項測試),這會增加執行時間和帳單費用。DDP 導入高效率的重試機制:
- 以測試案例為目標的重試:隔離並只重試分片中特定的失敗測試案例。
- 依序重試不穩定測試:根據預設,會依序重試不穩定測試 (而非像 Test Lab 一樣同時重試)。結合這項功能與測試案例層級的重試功能,可大幅減少測試執行總次數,進而節省裝置帳單費用。
進階支援 Android 測試
DDP 可解決 Test Lab 測試 API 長期以來的限制:
- 僅限測試 APK (不含虛擬應用程式):過去,Test Lab 必須有虛擬應用程式才能執行自我檢測測試。DDP 支援只使用測試 APK 執行檢測設備測試。
- 延長分片逾時時間:DDP 將單一檢測設備測試分片的執行時間上限從 Test Lab 的 45 分鐘延長至 3 小時。
- 多個 Orchestrator:DDP 支援多個 Android Test Orchestrator 版本。
- 內建 C++ 二進位檔支援:DDP 支援執行 Android C++ 二進位檔。
豐富的裝置互動和進階偵錯功能
DDP 提供更深入的裝置端互動,以及比 Test Lab 更豐富的偵錯構件:
- 模擬位置:DDP 支援模擬裝置 GPS 座標。
- 支援 ApkSet:開發人員可以直接在遠端裝置上安裝 ApkSet (.
apks檔案)。 - 進階偵錯:DDP 會直接向開發人員公開重要系統記錄和偵錯資訊,包括
dumpsys和bugreport。
高擴充性的裝置目錄
DDP 採用全面重新設計的裝置目錄 API,取代 Test Lab 僵硬且龐大的環境目錄:
- 伺服器端篩選:開發人員可在伺服器端篩選裝置,加快查詢速度並縮短酬載延遲時間。
- 即時可用性資料:DDP 會直接向 Device Run 提供即時裝置可用性資訊,方便您選擇高可用性裝置,避免排隊時間過長。Test Lab 完全沒有這項功能。
選擇遷移路徑
運用 AI 技術自動遷移資料
為確保順利完成這項轉換,我們開發了專屬的翻譯代理程式技能:migrating-device-run。
如果您使用 Antigravity、Claude Code、Codex 等 AI 程式碼編寫代理程式,即可輕鬆翻譯自訂測試指令碼。只要複製遷移技能結構定義的網址,然後按照這裡的說明貼到 AI 助理工作區即可。
遷移提示詞範本
You are an expert migration assistant. I want to migrate my test command and
configuration to the new `gcloud beta device-run` command format.
Use this migration guideline as your ruleset:
https://docs.cloud.google.com/developer-device-platform/device-run/migrate/migration-skill
Translate the following command and configuration to the new `gcloud beta
device-run` CLI: (Insert your raw Firebase Test / Flank YAML or bash script
here.)
手動遷移
請參閱指令和標記對照表,瞭解如何從 Firebase Test Lab 手動遷移至 DDP。準備遷移時,請注意下列結構差異:
- 以資源為中心的 CLI 架構:
gcloud beta device-run在三個主要資源群組中採用現代化<resource> <verb>指令模式:devices:直接透過 CLI 存取裝置目錄清單和完整的裝置詳細資料,取代分散的舊版firebase test android/ios models/versions/locales指令。software-versions:直接透過 CLI 存取支援的軟體版本 (例如 Xcode 和 Android Test Orchestrator 版本),取代舊版firebase test ios xcode-versions list。sessions:直接在終端機中管理端對端工作階段生命週期,包括sessions submit instrumentation、sessions submit xctest、sessions wait、sessions describe [--full]、sessions list和sessions cancel。
- 子指令結構:測試類型已標準化,並以乾淨的子指令形式巢狀內嵌於
sessions submit下方,而非使用類型標記。- DDP:
gcloud beta device-run sessions submit instrumentation(Android) 或gcloud beta device-run sessions submit xctest(iOS) - Test Lab:
gcloud firebase test android run --type=instrumentation(Android) 或gcloud firebase test ios run --type=xctest(iOS)
- DDP:
- 複數化及合併的應用程式:標準和補充 APK 會合併在複數化
--apps旗標清單下 (例如--apps=app.apk,helper.apk),而不是分割成--app和--additional-apks。 - 結構化字典和清單引數:以結構化 CLI 字典和清單格式取代以半形逗號分隔的檔案或環境清單:
--other-files-to-push KEY=VALUE、--additional-test-options KEY=VALUE、--paths-to-pull和--test-targets。 - 統一分片和重試控制項:無縫支援統一分片和智慧分片,以及平行重試 (
--flaky-test-parallel-retry、--flaky-test-retry-level) 和執行階段診斷 (--dumpsys、--bugreport、--video)。 - 非同步執行:
gcloud beta device-run支援非同步執行,可讓您執行測試,不必等待測試完成。使用gcloud beta device-run sessions wait <SESSION_ID>等待完成。 - 陳述式 YAML 設定 (
--flags-file):從 Flank 遷移的團隊如果偏好使用受版本管控的 YAML 檔案,而非殼層指令碼字串,可以利用gcloud的通用--flags-file=device-run-flags.yaml支援。
後續步驟
- 使用我們的快速入門導覽課程設定 Developer Device Platform。
- 如要查看所有可用的裝置,請瀏覽裝置目錄。
- 瞭解如何使用Device Run功能開始執行測試。
- 請參閱指令和旗標翻譯,瞭解 Test Lab 和 Flank 旗標與 DDP 的對應關係。