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