Test Lab 疑難排解資訊(&A);常見問題

本頁面提供疑難排解說明,並針對使用 Firebase Test Lab 執行測試的常見問題提供解答。並記錄已知問題。如果找不到所需資訊或需要進一步協助,請加入 Firebase Slack 的 #test-lab 頻道,或與 Firebase 支援團隊聯絡。

疑難排解

Test Lab 目錄中選取容量等級較高的裝置時,測試可能會更快開始。如果裝置容量較低,測試可能需要更長的時間才能執行。如果叫用的測試數量遠大於所選裝置的容量,測試可能需要更長的時間才能完成。

在任何裝置容量層級執行的測試可能會因為下列因素而耗時較久:

  • 流量,會影響裝置可用性和測試速度。
  • 裝置或基礎架構隨時都可能發生故障。如要查看是否有已回報的 Test Lab 基礎架構,請參閱 Firebase 狀態資訊主頁

如要進一步瞭解 Test Lab 中的裝置容量,請參閱 AndroidiOS 的裝置容量資訊。

測試結果不確定通常是因為取消測試執行或基礎架構錯誤。

基礎架構錯誤是因內部 Test Lab 問題 (例如網路錯誤或裝置發生非預期行為) 所致。Test Lab 會在回報結果不確定之前,內部退回多次產生基礎架構錯誤的測試執行作業;不過,您可以使用 failFast 停用這些重試。

如要找出錯誤的原因,請按照下列步驟操作:

  1. 前往 Firebase 狀態資訊主頁查看是否有已知的中斷情形。
  2. 重試 Test Lab 中的測試,確認是否可重現。

  3. 請嘗試在其他裝置或裝置類型上執行測試 (如適用)。

如果問題仍未解決,請在 Firebase Slack 的 #test-lab 頻道中,與 Test Lab 團隊聯絡。

如果您指定的資料分割數量超過 Test Lab 中可用的裝置數量,資料分割可能會導致測試執行時間變長。為避免這種情況,請嘗試改用其他裝置。如要進一步瞭解如何選擇其他裝置,請參閱 裝置容量

提交測試要求時,系統會先驗證應用程式、重新簽署等,以便在裝置上執行測試。這項程序通常會在幾秒內完成,但可能會受到應用程式大小等因素的影響。

應用程式準備就緒後,系統會排定測試執行作業,並將其保留在佇列中,直到裝置準備好執行為止。在所有測試執行作業都完成之前,矩陣狀態會是「未放送」(無論測試執行作業是否在佇列中或正在執行)。

測試執行作業完成後,系統會從裝置下載測試構件、處理,然後上傳至 Cloud Storage。此步驟的時間長度可能會受到遺留物的數量和大小影響。

常見問題

Firebase Test Lab 提供免費配額,可用於在裝置上測試及使用 Cloud API。請注意,測試配額會使用標準 Firebase 定價方案,而 Cloud API 配額則不會。

  • 測試配額

    測試配額取決於用於執行測試的裝置數量。Firebase Spark 方案提供固定的測試配額,使用者無須支付費用。對於 Blaze 方案,如果 Google Cloud 的用量隨時間增加,您的配額可能也會增加。如果您已達到測試配額上限,請等到隔天再測試,或是升級至 Blaze 方案 (如果您目前使用的是 Spark 方案)。如果您已使用 Blaze 方案,可以要求提高配額。詳情請參閱「測試配額」。

    您可以在 Google Cloud 控制台中監控測試配額用量。

  • Cloud Testing API 配額

    Cloud Testing API 有兩個配額限制:每個專案每日要求次數,以及每個專案每 100 秒要求次數。您可以在 Google Cloud 控制台中監控使用情形。

  • Cloud Tool Results API 配額

    Cloud Tool Results API 有兩個配額限制:每個專案每日的查詢次數,以及每個專案每 100 秒的查詢次數。您可以在 Google Cloud 控制台中監控使用情形。

    如要進一步瞭解 API 限制,請參閱「Test Lab 的 Cloud API 配額」。如果您已達到 API 配額上限:

    • 如要申請增加配額,請直接在 Google Cloud 控制台編輯配額 (請注意,大部分的限制預設為最高值),或

    • 如要申請提高 API 配額,請在 Google Cloud 主控台中填寫申請表單,或與 Firebase 支援團隊聯絡。

您可以透過後端,檢查來源 IP 位址是否符合我們的IP 範圍,判斷流量是否來自 Firebase 代管的測試裝置。

Test Lab 不適用於 VPC-SC,因為後者會在 Test Lab 的內部儲存空間和使用者的結果值區之間,封鎖應用程式和其他測試構件複製作業。

如要偵測測試中的不穩定行為,建議您使用 --num-flaky-test-attempts 選項。Deflake 重播作業的計費或計入每日配額的方式,與一般測試執行作業相同。

但請注意以下事項:

  • 偵測到失敗時,整個測試執行作業會再次執行。系統不支援只重試失敗的測試案例。
  • Deflake 重試執行作業會排定在同一時間執行,但無法保證會並行執行,例如當流量超過可用裝置的數量時。

雖然其中部分項目已列入路線圖,但我們目前無法承諾支援這些測試和應用程式開發平台。

您可以透過 API 取得詳細的裝置資訊,並使用 describe 指令 從 gcloud 用戶端存取這些資訊:

gcloud firebase test ios models describe MODEL

iOS 版 Test Lab 不支援分割功能。不過,您可以使用 Flank 用戶端來分割 iOS 測試案例。

這項功能會在 .xctestrun 檔案中設定 OnlyTestIdentifiers 鍵和值。如需進一步瞭解 xcodebuild.xctestrun,請參閱 man 頁面。

在 iOS 18 以上版本中,我們無法在搜尋結果中支援影片。

已知問題

Robo 測試無法略過登入畫面,因為登入畫面需要使用者輸入憑證以外的其他動作,例如完成人機驗證。

iOS+ (Beta 版) 的 Robo 測試不支援自動登入 Google 帳戶。