获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

开始使用持续集成 (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 系统一起使用,请查看他们的文档: