開始使用 Android 虛擬裝置進行測試

本文檔介紹了測試實驗室的 AVD,包括優點和已知限制。我們還提供有關如何在整個開發生命週期中測試應用程式的建議。測試實驗室 AVD 與Android Studio 的 AVD類似,但針對雲端測試的效能進行了最佳化,因此兩者之間存在一些差異。

帶有 .arm 或 (Arm) 後綴的 Test Lab AVD 是高階模擬器,具有以下優點:

  • 更快的測試執行時間

  • 螢幕尺寸和密度與 Android Studio 的 AVD 保持一致,以保持一致性

  • GPU 支援圖形加速

下表描述了使用虛擬設備的好處:

益處描述用例)
高可用性使用虛擬設備進行測試時,您可以更快地執行測試並獲得測試結果。由於虛擬設備是按需創建的,因此您的測試幾乎立即開始,從而可以快速驗證您的應用程式。測試應用程式的小更新,或進行回歸測試。
更長的測試持續時間虛擬設備支援長達 60 分鐘的測試持續時間。實體設備上的測試每台設備的測試持續時間限制為 45 分鐘。運行更長的測試
降低成本對於用於測試應用程式的每台虛擬設備,虛擬設備的定價為每小時 1 美元。使用持續整合系統進行日常測試,或在簽入程式碼之前進行測試。要了解更多信息,請參閱測試實驗室的使用等級、配額和定價

使用虛擬設備測試您的應用程式

您可以使用虛擬設備測試應用程序,就像使用實體設備測試應用程式一樣。配置測試矩陣時,您可以選擇用於測試的虛擬設備。要了解有關使用測試實驗室運行測試的更多信息,請參閱開始使用 Firebase 測試實驗室測試 Android

查看支援的模型和API

若要查看測試實驗室支援的 AVD 模型和 API,請執行以下命令:

gcloud firebase test android models list --filter=virtual

測試應用程式的最佳實踐

當您使用測試實驗室測試應用程式時,虛擬設備會增加您的選擇範圍。我們建議使用以下最佳實踐在整個應用程式開發生命週期中測試您的應用程式:

使用 Android Studio 模擬器或連接的實體設備

開發應用程式時,請使用 Android Studio 模擬器或連接的實體裝置來檢查每個版本以進行初始驗證。如果您有儀器測試,您也可以在測試實驗室提供的實體或虛擬裝置上從 Android Studio 執行這些測試。

在處理共用專案時,對每個程式碼變更使用 CI 系統

如果您從事大型項目,或為使用 GitHub 或類似網站共享的專案做出貢獻,我們建議您使用持續整合 (CI) 系統。每次 CI 系統運行時或每次拉取請求之前,在虛擬設備上測試您的應用程式。要了解有關將測試實驗室與 CI 系統結合使用的更多信息,請參閱將 Android 測試實驗室與持續整合系統結合使用

在發布重要的應用程式更新之前,請使用測試實驗室在實體設備上測試您的應用程式

在發布 UI 和功能發生重大變化的應用程式更新之前,我們建議您使用測試實驗室在實體裝置上測試您的應用程式。這將有助於確保您的應用程式在各種流行的實體設備上穩定且高效能。在實體設備上進行測試還可以確保測試覆蓋任何依賴虛擬設備未模擬的實體設備功能的應用程式功能。要了解有關這些功能的更多信息,請參閱已知限制

虛擬設備更新

Android 團隊會定期新增新的虛擬裝置映像、棄用舊映像並更新現有映像。我們將這些更新應用於虛擬裝置映像,以協助確保您針對反映使用者體驗的最新 Android 版本進行測試。

在極少數情況下,這些更新可能會導致測試意外失敗。當存在已知的潛在破壞性更新時,測試實驗室將在發行說明中包含資訊。作為最佳實踐,我們建議您盡可能使用對這些變更具有穩健性的測試框架(例如Espresso )。如果無法做到這一點,我們建議您以 Arm 虛擬設備為目標,預計更新頻率會較低。

已知的限制

某些實體設備功能目前無法由虛擬設備模擬,或模擬時存在一些限制。下表總結了目前在虛擬設備上不可用或在某些限制下可用的功能:

特徵細節
應用程式二進位介面 (ABI)並非所有設備都支援所有 ABI。如果您使用 Android NDK 進行開發,請務必為您的目標裝置支援的 ABI 產生程式碼(請參閱測試實驗室中的可用裝置)。要了解有關 ABI 管理的更多信息,請參閱Android ABI

注意:如果測試矩陣中的測試被標記為“無效”,則可能會發生這種情況,因為您的應用程式依賴裝置 ABI 不支援的本機程式碼。

圖形效能Nexus 和 Pixel 虛擬設備使用軟體圖形渲染。圖形密集型應用程式的效能可能會較低。如果您的應用程式是圖形密集的,請考慮使用 SmallPhone.arm、MediumPhone.arm 或實體設備。
圖形API API 等級 29 以下的裝置不支援 OpenGL ES 3.x。較新的裝置並非 100% 與 OpenGL/Vulkan API 相容,您可能會注意到圖形方面的細微差異。
Google Play 商店應用程式Arm 虛擬裝置不支援 Google Play 商店應用程式。
擴增實境 (AR) 功能虛擬設備不支援測試擴增實境 (AR) 功能。
較舊的 API 級別Test Lab Arm 虛擬設備不支援低於 26 的 API 等級。

下一步