Firebase is back at Google I/O on May 10! Register now

開始使用持續集成 (CI) 系統進行測試

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

在使用任何持續集成 (CI) 系統開發應用時,您可以使用 Firebase 測試實驗室。每次簽入應用程序源代碼的更新時,持續集成系統可讓您自動構建和測試您的應用程序。

將 Firebase 測試實驗室與 Jenkins CI 結合使用

本節介紹如何將 Test Lab 與Jenkins CI結合使用。

要求

在將 Firebase 測試實驗室與 Jenkins 結合使用之前,您需要完成以下步驟:

  1. 設置 gcloud。按照從 gcloud 命令行使用 Firebase 測試實驗室中的說明創建 Firebase 項目並配置本地 Google Cloud SDK 環境。

  2. 創建並授權服務帳戶。服務帳戶不受垃圾郵件檢查或驗證碼提示的約束,否則可能會阻止您的 CI 構建。在Google Cloud Console中創建一個具有Editor角色的服務帳戶,然後激活它(請參閱gcloud auth activate-service-account 文檔以了解如何操作)。

  3. 啟用所需的 API。使用服務帳號登錄後:在Google Developers Console API Library 頁面中,啟用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 測試實驗室結合使用之前,配置全局安全設置以強制執行訪問控制和對用戶進行身份驗證。

配置全局安全設置

  1. 導航到服務器上的 Jenkins 儀表板。為此,請瀏覽至http://<servername>:8080 ,其中<servername>是您安裝 Jenkins 的計算機的名稱。
  2. 在 Jenkins 儀表板上,單擊Manage Jenkins ,然後單擊Configure Global Security
  3. Configure Global Security頁面上,點擊Enable security ,然後點擊Save

有關為 Jenkins 配置安全設置的更多信息,請參閱快速簡單的安全性標準安全設置保護 Jenkins

創建詹金斯項目

接下來,創建一個項目,用於使用 Firebase 測試實驗室對您的應用程序進行持續集成測試。

創建 Jenkins 項目

  1. 導航到服務器上的 Jenkins 儀表板。為此,請瀏覽至http://<servername>:8080 ,其中<servername>是您安裝 Jenkins 的計算機的名稱。
  2. 在 Jenkins 儀表板上,單擊新建項目
  3. Item name字段中為您的項目輸入一個名稱:
    • 選擇Freestyle 項目以創建使用單一構建配置的項目。
    • 選擇構建多配置項目以創建在多個不同構建配置上運行的項目。如果您計劃使用多種構建配置(多個語言環境、多個 Android API 級別等)構建您的應用程序,那麼多配置項目是最佳選擇。
  4. 單擊保存

創建項目後,Web 瀏覽器會顯示項目的主頁。

添加修訂控制和 Gradle 構建步驟

本節介紹如何將 Jenkins 與 GitHub 等版本控制系統集成,以及如何添加 Gradle 構建步驟以從源代碼構建 APK 包。

與 GitHub 和其他版本控制系統集成

如果您使用 GitHub 或其他版本控制系統來管理應用程序的源代碼,則可以將 Jenkins 配置為運行自動構建並在每次簽入應用程序更新時運行測試。您還可以將 Jenkins 配置為定期運行構建。

要了解如何在 Jenkins 中配置構建,請參閱配置自動構建

添加 Gradle 構建步驟以重建 APK 包

如果您使用版本控制系統來管理應用程序的源代碼,則每次 Jenkins 從您的版本控制系統下載源代碼時,您都需要包含一個 Gradle 構建步驟來創建新的 APK 二進製文件。

  1. 添加構建步驟以在應用程序的主目錄中運行以下命令:

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

  2. 添加構建步驟以在使用測試實驗室進行測試時使用 Gradle 創建的 APK 包。您可以在下面提供的 shell 腳本示例中使用此路徑作為<local_server_path> ,其中<AppFolder>是您應用的 Android Studio 項目文件夾:

    <AppFolder>/app/build/outputs/apk
    

將測試實驗室構建步驟添加到 Jenkins

現在您已準備好向 Jenkins 添加構建步驟以使用 gcloud 命令行運行測試實驗室。

添加 gcloud 構建步驟

  1. 在項目的主頁上,單擊Configure
  2. 項目配置頁面上,向下滾動到構建部分,然後從添加構建步驟菜單中選擇執行外殼

  3. Jenkins Execute 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
    

分析測試結果

在測試實驗室完成對您的應用程序的測試後,您可以在 Firebase 控制台或項目中的Google Cloud Storage存儲桶中查看測試結果。您還可以在上面顯示的 shell 命令中添加gsutil命令,以將測試結果數據複製到您的本地計算機。要了解更多信息,請參閱分析 Firebase 測試實驗室結果

與其他 CI 系統的持續集成

要了解如何將 Firebase 測試實驗室與其他 CI 系統一起使用,請查看他們的文檔: