本頁面提供使用 Firebase 測試實驗室運行測試的常見問題解答協助和解答。也記錄了已知問題。如果您找不到所需內容或需要其他協助,請加入 Firebase Slack 上的#test-lab 頻道或聯絡Firebase 支援。
故障排除
當您在測試實驗室目錄中選擇具有高容量等級的裝置時,測試可能會更快開始。當設備容量較低時,測試可能需要更長時間才能運作。如果所呼叫的測試數量遠大於所選設備的容量,則測試可能需要更長時間才能完成。
由於以下因素,在任何級別的設備容量等級上執行的測試可能需要更長的時間:
- 流量,影響設備可用性和測試速度。
- 設備或基礎設施故障隨時可能發生。若要檢查是否有報告的測試實驗室基礎架構,請參閱Firebase 狀態儀表板。
要了解有關測試實驗室中的設備容量的更多信息,請參閱Android和iOS的設備容量資訊。
由於測試運行取消或基礎設施錯誤,通常會出現不確定的測試結果。
基礎設施錯誤是由內部測試實驗室問題引起的,例如網路錯誤或意外的設備行為。測試實驗室在報告不確定結果之前會在內部終止多次產生基礎設施錯誤的測試運行;但是,您可以使用failFast停用這些重試。
若要確定錯誤原因,請執行下列步驟:
- 在Firebase 狀態儀表板中檢查已知的中斷。
在測試實驗室中重試測試以驗證其是否可重現。
嘗試在不同的裝置或裝置類型上執行測試(如果適用)。
如果問題仍然存在,請透過 Firebase Slack 上的#test-lab 頻道聯絡測試實驗室團隊。
當您指定的分片數量超過測試實驗室中可用的設備數量時,分片可能會導致您的測試運行時間更長。為了避免這種情況,請嘗試切換到其他裝置。有關選擇不同設備的更多信息,請參閱設備容量。
當您提交測試請求時,您的應用程式首先會經過驗證、重新簽名等,以準備在裝置上執行測試。通常,此過程會在不到幾秒鐘的時間內完成,但它可能會受到應用程式大小等因素的影響。
準備好應用程式後,將安排測試執行並保留在佇列中,直到設備準備好運行它。在所有測試執行完成運行之前,矩陣狀態將為「待處理」(無論測試執行是在佇列中還是正在運行)。
測試執行完成後,將從裝置下載測試工件,進行處理並上傳到雲端儲存。此步驟的持續時間可能會受到工件數量和大小的影響。
經常問的問題
Firebase 測試實驗室為裝置測試和使用雲端 API 提供免費配額。請注意,測試配額使用標準 Firebase 定價計劃,而 Cloud API 配額則不使用。
檢測配額
測試配額由用於運行測試的設備數量決定。 Firebase Spark 方案有固定的測試配額,使用者無需支付任何費用。對於 Blaze 計劃,如果您對 Google Cloud 的使用量隨著時間的推移而增加,您的配額可能會增加。如果您達到了測試配額,請等到第二天,或者如果您目前使用的是 Spark 計劃,請升級到 Blaze 計劃。如果您已經加入 Blaze 計劃,則可以要求增加配額。有關更多信息,請參閱測試配額。
您可以在Google Cloud Console中監控測試配額使用情況。
雲端測試 API 配額
Cloud Test API 有兩個配額限制:每個專案每天的請求數和每個專案每 100 秒的請求數。您可以在Google Cloud Console中監控您的使用情況。
雲端工具結果 API 配額
Cloud Tool Results API 有兩個配額限制:每個項目每天的查詢次數和每個項目每 100 秒的查詢次數。您可以在Google Cloud Console中監控您的使用情況。
有關 API 限制的更多信息,請參閱測試實驗室的雲端 API 配額。如果您已達到 API 配額:
透過直接在 Google Cloud Console 中修改配額來提交更高配額的請求(請注意,大多數限制預設為最大值),或者
透過在 Google Cloud Console 中填寫請求表單或聯絡Firebase 支援來請求更高的 API 配額。
在後端,您可以根據我們的IP 範圍檢查來源 IP 位址來確定流量是否來自 Firebase 託管的測試設備。
測試實驗室不支援 VPC-SC,這會阻止在測試實驗室的內部儲存和使用者結果儲存桶之間複製應用程式和其他測試工件。
要偵測測試中的不穩定行為,我們建議使用--num-flaky-test-attempts選項。 Deflake 重新運行將按照與正常測試執行相同的方式計費或計入每日配額。
請記住以下幾點:
- 當偵測到故障時,整個測試執行會再次運作。不支援僅重試失敗的測試案例。
- Deflake 重試運行計劃同時運行,但不保證並行運行,例如,當流量超過可用設備數量時。
雖然其中一些項目已在我們的路線圖中,但我們目前無法承諾支援這些測試和應用程式開發平台。
詳細的設備資訊可透過 API 獲取,並且可以使用描述命令從 gcloud 用戶端存取:
gcloud firebase test ios models describe MODEL
iOS 測試實驗室本身不支援分片。但是,您可以使用Flank用戶端對 iOS 測試案例進行分片。
這是透過在.xctestrun
檔案中設定OnlyTestIdentifiers
鍵和值來實現的。有關更多詳細信息,請參閱xcodebuild.xctestrun
的man
頁。
已知的問題
Robo 測試無法繞過登入畫面,這些登入畫面需要輸入憑證才能登入之外的其他使用者操作(例如,完成驗證碼)。
Robo 測試最適合使用 Android UI 框架中的 UI 元素(包括View
、 ViewGroup
和WebView
物件)的應用程式。如果您使用 Robo 測試來測試使用其他 UI 框架的應用程式(包括使用 Unity 遊戲引擎的應用程式),則測試可能會退出,而不會探索第一個畫面以外的內容。