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

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

搭配使用 Firebase Test Lab 和 Jenkins CI

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

需求條件

您必須先完成下列步驟,才能將 Firebase Test Lab 與 Jenkins 搭配使用:

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

  2. 建立並授權服務帳戶。服務帳戶不必執行垃圾內容檢查或人機驗證提示,否則可能會封鎖您的持續整合建構作業。在 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 首次安裝時,並未設定使用者驗證和存取權控管。在搭配 Firebase Test Lab 使用 Jenkins 之前,請先設定全域安全性設定,以強制執行存取權控管及驗證使用者。

調整全域安全性設定

  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. 點選「Save」

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

新增修訂版本控制項和 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. 在「project configuration」(專案設定) 頁面上,向下捲動至「Build」(建構) 區段,然後從「Add build step」(新增建構步驟) 選單中選擇 [Execute shell] (執行殼層)

  3. 在「Jenkins Execute shell command」視窗中輸入以下內容,將 <local_server_path> 替換成 <local_server_path> 做為伺服器上的範例應用程式路徑,<app_apk> 用於應用程式的 APK,並為應用程式的測試 APK 取代 <app_test_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 系統,請參閱下列文件: