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

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

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. 在「項目名稱」欄位中輸入專案名稱:
    • 選擇「自創專案」,建立使用單一建構設定的專案。
    • 選擇「Build multi-configuration project」,建立可在多種不同建構設定中執行的專案。如果您打算使用各種建構設定 (多種語言代碼、多個 Android API 級別等) 建構應用程式,那麼多重設定專案就是最佳選擇。
  4. 按一下 [儲存]

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

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

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

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

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

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

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

如果您使用修訂版本控制系統管理應用程式的原始碼,每次 Jenkins 從修訂版本控制系統下載原始碼時,您都需要加入 Gradle 建構步驟,建立新的 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. 在「專案設定」頁面中,向下捲動至「建構」部分,然後從「新增建構步驟」選單中選擇「執行 Shell」

  3. 在「Jenkins Execute shell command」(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 結果」。

與其他 CI 系統持續整合

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