自动测试 Android 应用

本指南介绍如何使用 Firebase 控制台中的 App Distribution 自动化测试助手功能将 build 自动分发给测试人员。自动化测试助手功能可为您的应用提供随时准备就绪、简单易用的冒烟测试工具。

准备工作

将 Firebase 添加到您的 Android 项目(如果尚未添加)。

如果您没有使用任何其他 Firebase 产品,只需创建一个项目并注册应用即可。但是,如果您决定将来使用其他产品,请务必完成使用 Firebase 控制台添加 Firebase 中的所有步骤。

当您准备好将应用的预发布版本分发给测试人员时,应按照常规流程构建您的 APK。您必须使用调试密钥或应用签名密钥对 APK 进行签名。

使用 Firebase 控制台将应用分发给自动化测试助手

如需将您的应用分发给自动化测试助手,请使用 Firebase 控制台上传 APK 文件:

  1. 打开 Firebase 控制台的App Distribution”页面。出现提示时,选择您的 Firebase 项目。
  2. 版本页面上,从下拉菜单中选择您要分发的应用。
  3. 将应用的 APK 文件拖到控制台中以便上传。
  4. 上传完成后,选择添加测试人员或测试群组搜索栏中的自动化测试助手
  5. 如需自定义自动化测试,请点击修改图标,然后选择自定义您的自动化测试对话框中的自定义设置。
  6. (可选)在设备配置对话框中,选择符合您的测试规范的 API 级别、设备屏幕方向和语言区域。
  7. (可选)如果应用需要登录凭据,请点击登录凭据下拉菜单,创建可在测试期间使用的自定义用户名和密码。
  8. 点击分发。您还可以为应用添加可选版本说明。

使用 Firebase CLI 将应用分发给自动化测试助手

运行 appdistribution:distribute 命令以上传您的应用并将其分发给测试人员。使用以下参数配置分发给自动化测试助手功能:

appdistribution:distribute 选项
--test-devices--test-devices-file

您要将 build 分发给自动化测试助手功能的测试设备。

您可以采用以英文分号分隔的测试设备列表的形式指定测试设备:

--test-devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

或者,您可以指定一个纯文本文件的路径,该文件包含以英文分号分隔的测试设备列表:

--test-devices-file: "/path/to/test-devices.txt"
--test-username

自动化测试期间要使用的自动登录的用户名。

--test-password--test-password-file

自动化测试期间要使用的自动登录的密码。

或者,您可以指定一个纯文本文件的路径,该文件包含密码:

--test-password-file: "/path/to/test-password.txt"
--test-username-resource

自动化测试期间要使用的自动登录的用户名字段的资源名称。

--test-password-resource

自动化测试期间要使用的自动登录的密码字段的资源名称。

--test-non-blocking

异步运行自动化测试。访问 Firebase 控制台查看自动测试结果。

如需详细了解如何开始使用 Firebase CLI 以及配置分发的不同方式,请参阅使用 Firebase CLI 将 Android 应用分发给测试人员

使用 Gradle 将应用分发给自动化测试助手

您可以通过添加至少一个 firebaseAppDistribution 部分来配置 App Distribution,并使用以下参数配置分发给自动化测试助手功能:

App Distribution Build 参数
testDevicestestDevicesFile

您要使用自动化测试向其分发 build 的测试设备。

您可以采用以英文分号分隔的设备规格列表的形式指定测试设备:

testDevices="model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

或者,您可以指定一个文件的路径,该文件包含以英文分号分隔的设备规格列表:

testDevicesFile="/path/to/testDevices.txt"
testUsername

自动化测试期间要使用的自动登录的用户名。

testUsernameResource

自动化测试期间要使用的自动登录的用户名字段的资源名称。

testPasswordtestPasswordFile

自动化测试期间要使用的自动登录的密码。

或者,您可以指定一个纯文本文件的路径,该文件包含密码:

testPasswordFile="/path/to/testPassword.txt"
testPasswordResource

自动化测试期间要使用的自动登录的密码字段的资源名称。

testNonBlocking

异步运行自动化测试。访问 Firebase 控制台查看自动测试结果。

如需详细了解如何开始使用 Gradle 以及配置分发的不同方式,请参阅使用 Gradle 将 Android 应用分发给测试人员

使用 Fastlane 将应用分发给自动化测试助手

./fastlane/Fastfile 通道中,添加 firebase_app_distribution 代码块。使用以下参数配置分发给自动化测试助手功能:

firebase_app_distribution 参数
test_devicestest_devices_file

您要将 build 分发给自动化测试助手功能的测试设备。您可以采用以英文分号分隔的测试设备列表的形式指定测试设备:

test_devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

或者,您可以指定一个纯文本文件的路径,该文件包含以英文分号分隔的测试设备列表:

test_devices_file: "/path/to/test-devices.txt"
test_username

自动化测试期间要使用的自动登录的用户名。

test_passwordtest_password_file

自动化测试期间要使用的自动登录的密码。

或者,您可以指定一个纯文本文件的路径,该文件包含密码:

test_password_file: "/path/to/test-password.txt"
test_username_resource

自动化测试期间要使用的自动登录的用户名字段的资源名称。

test_password_resource

自动化测试期间要使用的自动登录的密码字段的资源名称。

test_non_blocking

异步运行自动化测试。访问 Firebase 控制台查看自动测试结果。

如需详细了解如何开始使用 Fastlane 以及配置分发的不同方式,请参阅使用 Fastlane 将 Android 应用分发给测试人员

自动测试抓取状态

为帮助您解读测试结果,自动化测试结果标签页会显示每个设备的任何测试问题、应用屏幕截图以及测试抓取视频。您可以在测试结果页面中找到测试的状态:

抓取状态 说明
待处理 自动测试仍在运行,结果很快就会显示。
已通过 自动测试已成功抓取应用,未发现任何崩溃问题。
失败 由于应用在测试期间崩溃,自动测试失败。
无结论 由于基础架构错误,自动测试失败。