開始使用持續整合 (CI) 系統進行測試

您可以使用 Firebase Test Lab 開發應用程式,並使用任何持續整合 (CI) 系統。持續整合系統可讓您在每次更新應用程式原始程式碼時,自動建構並測試應用程式。

Firebase Test Lab 與 Jenkins CI 搭配使用

本節說明如何搭配 Jenkins CI 使用 Test Lab

需求條件

您必須先完成下列步驟,才能在 Jenkins 中使用 Firebase Test Lab

  1. 設定 gcloud。請按照「透過 gcloud 指令列使用 Firebase Test Lab」一文中的操作說明,建立 Firebase 專案並設定本機 Google Cloud SDK 環境。

  2. 建立並授權服務帳戶。服務帳戶不受垃圾訊息檢查或驗證碼提示的限制,否則可能會阻擋 CI 建構作業。在 Google Cloud 控制台中建立具有「編輯者」角色的服務帳戶,然後啟動帳戶 (詳情請參閱 gcloud auth activate-service-account 說明文件)。

  3. 啟用必要的 API。使用服務帳戶登入後:在 Google Developers Console API 程式庫頁面中,啟用 Google Cloud Testing APICloud Tool Results API。如要啟用這些 API,請在控制台頂端的搜尋框中輸入這些 API 名稱,然後在該 API 的總覽頁面上按一下「啟用 API」

安裝及設定 Jenkins

您可以在 Linux 或 Windows 上安裝及設定 Jenkins CI。本指南的其他詳細資料主要說明如何在 Linux 上安裝及執行 Jenkins CI,包括在檔案路徑中使用斜線 (/)。

如要在執行 Linux 或 Windows 的電腦上下載並安裝 Jenkins,請按照安裝 Jenkins 中的指示操作。安裝 Jenkins 後,請按照「啟動及存取 Jenkins」中的指示完成設定,並存取 Jenkins 資訊主頁。

設定全域安全性設定

初次安裝 Jenkins 時,系統不會設定使用者驗證和存取權控制。在使用 Jenkins 搭配 Firebase Test Lab 之前,請先設定全域安全性設定,以便強制執行存取控制和使用者驗證。

如何設定全域安全性設定

  1. 前往伺服器上的 Jenkins 資訊主頁。如要執行這項操作,請瀏覽 http://<servername>:8080,其中 <servername> 是已安裝 Jenkins 的電腦名稱。
  2. 在 Jenkins 資訊主頁上,依序按一下「Manage Jenkins」和「Configure Global Security」
  3. 在「Configure Global Security」頁面中,按一下「Enable security」,然後點選「Save」

如要進一步瞭解如何設定 Jenkins 的安全性設定,請參閱「快速簡單的安全性設定」、「標準安全性設定」和「保護 Jenkins」。

建立 Jenkins 專案

接著,請建立專案,以便使用 Firebase Test Lab 為應用程式執行持續整合測試。

建立 Jenkins 專案

  1. 前往伺服器上的 Jenkins 資訊主頁。如要執行這項操作,請瀏覽 http://<servername>:8080,其中 <servername> 是已安裝 Jenkins 的電腦名稱。
  2. 在 Jenkins 資訊主頁上,按一下「New Item」
  3. 在「Item name」欄位中輸入專案名稱:
    • 選擇「Freestyle project」,即可建立使用單一建構設定的專案。
    • 選擇「Build multi-configuration project」,即可建立可在多個不同建構設定下執行的專案。如果打算使用各種建構設定 (多種語言代碼、多個 Android API 級別等) 建構應用程式,那麼多重設定專案是最佳選擇。
  4. 按一下 [儲存]

專案建立完成後,網頁瀏覽器會顯示專案的主要頁面。

新增修訂版本控制項和 Gradle 建構步驟

本節說明如何將 Jenkins 與 GitHub 等修訂版本控管系統整合,以及如何新增 Gradle 建構步驟,從原始碼建構 APK 套件。

與 GitHub 和其他修訂版本管控系統整合

如果您使用 GitHub 或其他修訂版本控管系統來管理應用程式的原始碼,可以設定 Jenkins,在每次應用程式更新提交時執行自動化建構作業和測試。您也可以設定 Jenkins 定期執行建構作業。

如要瞭解如何在 Jenkins 中設定建構作業,請參閱設定自動建構

新增 Gradle 建構步驟以重新建構 APK 套件

如果您使用修訂版本控制系統管理應用程式的原始碼,就必須加入 Gradle 建構步驟,以便每次 Jenkins 從修訂版本控制系統下載原始碼時,建立新的 APK 二進位檔。

  1. 新增建構步驟,在應用程式的主目錄中執行下列指令:

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    

  2. 新增建構步驟,以便在使用 Test Lab 進行測試時,使用 Gradle 建立的 APK 套件。您可以使用這個路徑做為下方提供的殼層指令碼範例中的 <local_server_path>,其中 <AppFolder> 是應用程式的 Android Studio 專案資料夾:

    <AppFolder>/app/build/outputs/apk
    

Test Lab 建構步驟新增至 Jenkins

現在您可以將建構步驟新增至 Jenkins,以使用 gcloud 指令列執行 Test Lab

如何新增 gcloud 建構步驟

  1. 在專案的主頁面中,按一下「設定」
  2. 在「專案設定」頁面中,向下捲動至「Build」部分,然後從「Add build step」選單中選擇「Execute shell」

  3. Jenkins 執行 shell 指令視窗中輸入以下內容,並將 <local_server_path> 替換為伺服器上範例應用程式的路徑、<app_apk> 替換為應用程式的 APK,以及 <app_test_apk> 替換為應用程式的測試 APK:

    gcloud firebase test android run --app <local_server_path>/<app_apk>.apk
    --test <local_server_path>/<app_test_apk>.apk
    

分析測試結果

Test Lab 完成應用程式的測試後,您可以在 Firebase 控制台或專案的 Google Cloud Storage 值區中查看測試結果。您也可以在上述殼層指令中加入 gsutil 指令,將測試結果資料複製到本機電腦。詳情請參閱「分析 Firebase Test Lab 結果」。

與其他持續整合系統的持續整合

如要瞭解如何將 Firebase Test Lab 與其他 CI 系統搭配使用,請參閱相關文件: