Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

開始使用 Firebase 測試實驗室測試 Android

Firebase 測試實驗室可讓您在各種設備和配置上測試您的應用。本入門指南提供了可供您遵循的實施路徑,以及對測試實驗室的 Android 產品的介紹。

有關測試實驗室配額和定價計劃的信息,請參閱使用情況、配額和定價

關鍵概念

當您針對您選擇的設備和配置運行測試或一組測試用例時,測試實驗室會批量針對您的應用運行測試,然後將結果顯示為測試矩陣

設備 × 測試執行 = 測試矩陣

設備
您運行測試的物理或虛擬設備(僅限 Android),例如手機、平板電腦或可穿戴設備。測試矩陣中的設備由設備型號、操作系統版本、屏幕方向和區域設置(也稱為地理和語言設置)標識。
測試,測試執行
要在設備上運行的測試(或一組測試用例)。您可以為每個設備運行一個測試,也可以選擇將測試分片並在不同的設備上運行其測試用例。
測試矩陣
包含測試執行的狀態和測試結果。如果矩陣中的任何測試執行失敗,則整個矩陣都會失敗。

第 1 步:準備您的測試以上傳到測試實驗室

可用的測試類型

您可以使用測試實驗室運行以下測試。請注意,所有測試類型僅限於在物理設備上運行 45 分鐘,在虛擬設備上運行 60 分鐘。任何未捕獲的異常都會導致測試失敗。

  • 儀器測試儀器單元測試:您使用EspressoUI Automator 2.0框架編寫的測試。通過此測試,您可以對應用程序的狀態進行明確斷言,以使用AndroidJUnitRunnerAPI驗證正確的功能。

  • Robo 測試:一種自動化測試,可分析您應用的 UI,然後通過模擬用戶活動有條不紊地探索它,而無需您編寫任何代碼。訪問關於 Robo 測試了解更多信息。

  • 遊戲循環測試:使用“演示模式”來模擬遊戲應用程序中的玩家動作的測試。這是一種快速且可擴展的方式來驗證您的遊戲是否對用戶表現良好。當您選擇運行遊戲循環測試時,您可以:

    • 為您的遊戲引擎編寫本機測試

    • 避免為不同的 UI 或測試框架編寫相同的代碼

    • 可以選擇創建多個循環以在單個測試執行中運行(訪問關於遊戲循環測試以了解更多信息)。您還可以使用標籤來組織循環,以便跟踪它們並重新運行特定的循環。

    有關使用測試實驗室運行此測試的說明,請參閱運行遊戲循環測試

運行測試的工具

您可以選擇以下工具來運行您的測試:

  • 推薦給首次使用的用戶:Firebase 控制台可讓您上傳應用程序並從網絡瀏覽器啟動測試。有關使用此工具運行測試的說明,請參閱使用 Firebase 控制台進行測試。

  • Android Studio 集成讓您無需離開開發環境即可測試您的應用。有關使用此工具運行測試的說明,請參閱使用 Android Studio進行測試。

  • gcloud 命令行界面使您能夠以交互方式從命令行運行測試,並且也非常適合作為自動化構建和測試過程的一部分編寫腳本。有關使用此工具運行測試的說明,請參閱使用 gcloud CLI進行測試。

當您使用 Alpha 或 Beta 渠道將應用的 APK 文件上傳並發佈到 Play 商店時,您還可以通過測試實驗室免費測試您的應用。有關更多信息,請參閱使用發布前報告來識別問題Robo 測試

第 2 步:選擇您的測試設備

測試實驗室支持在 Google 數據中心內安裝和運行的多種品牌和型號的 Android 設備上進行測試。在測試實驗室中對設備進行測試可幫助您檢測在 Android Studio 中使用模擬器測試您的應用時可能不會出現的問題。要了解更多信息,請參閱可用設備。

第 3 步:查看測試結果

無論您如何開始測試,您的所有測試結果都由測試實驗室管理並可在線查看。

測試結果摘要會自動存儲並可在 Firebase 控制台中查看。它包含與您的測試最相關的數據,包括特定於測試用例的視頻、屏幕截圖、通過、失敗或獲得不穩定結果的測試數量等。

原始測試結果包含測試日誌和應用失敗詳細信息,並自動存儲在 Google Cloud 存儲桶中。如果您指定存儲桶,則您需要承擔存儲成本。如果您不指定存儲桶,測試實驗室會免費為您創建一個。

有關更多詳細信息,請參閱分析 Firebase 測試實驗室結果。

當您從Android Studio啟動測試時,您還可以從開發環境內部查看測試結果。

設備清理

Google 非常重視您應用數據的安全性。我們遵循行業標準的最佳實踐,在每次測試運行後刪除應用程序數據並重置物理設備的系統設置,以確保它們準備好運行新測試。對於我們可以使用自定義恢復映像刷新的設備,我們通過在測試運行之間刷新這些設備更進一步。

對於測試實驗室使用的虛擬設備,設備實例使用後會被刪除,以便每次測試運行使用一個新的虛擬設備實例。


附加信息

測試實驗室和 Google Play 服務

測試實驗室設備通常在最新版本的 Google Play 服務 SDK 上運行,但有些設備可能需要在新版本 SDK 發布後幾天進行更新。請注意,您可能會遇到某些設備的兼容性問題。

測試實驗室和移動廣告

對於使用或與數字廣告提供商(例如,廣告網絡、需求方平台)以及數字廣告提供商合作的應用程序開發人員:

測試實驗室為開發人員提供了一個可擴展的應用測試基礎設施,可以自動進行應用測試。不幸的是,此功能可能會被旨在產生欺詐性廣告收入的惡意應用程序濫用。

為了緩解這個問題:

  • 應用程序開發人員應通知與他們合作的任何數字廣告提供商,以過濾掉從屬於測試提供商(包括測試實驗室)的設備產生的收入和所有相應流量。

  • 數字廣告提供商可以通過過濾源自以下IP 地址塊的流量來過濾廣告​​收入和測試實驗室生成的所有相應流量(請注意,您還可以使用 gcloud CLI 中的gcloud beta firebase test ip-blocks list命令訪問此列表):

平台和設備類型CIDR IP 地址塊
Android 和 iOS 物理設備

108.177.6.0/23

70.32.147.112/28(03-2020 添加)

74.125.122.32/29(04-2020 添加)

108.177.29.80/28(04-2020 添加)

216.239.44.24/29(04-2020 添加)

安卓虛擬設備

34.68.194.64/29(11-2019 添加)

34.69.234.64/29(11-2019 添加)

34.73.34.72/29(11-2019 添加)

34.73.178.72/29(11-2019 添加)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

35.243.2.0/27(7-2019 添加)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29