本指南介绍如何使用 Firebase CLI 将 APK 分发给测试人员。借助 CLI 工具,您可以为 build 指定测试人员和版本说明,然后相应地分发该 build。
准备工作
将 Firebase 添加到您的 Android 项目(如果尚未添加)。
如果您没有使用任何其他 Firebase 产品,只需创建一个项目并注册应用。但是,如果您决定以后使用其他产品,请务必完成上述链接页面上的所有步骤。
第 1 步:构建您的应用
当您准备好将应用的预发布版本分发给测试人员时,应按照常规流程构建您的 APK。您必须使用调试密钥或应用签名密钥对 APK 进行签名。
第 2 步:将您的应用分发给测试人员
如需将应用分发给测试人员,请使用 Firebase CLI 上传应用的文件:
- 安装或更新至最新版本的 Firebase CLI(建议您下载特定于您的操作系统的 CLI 对应的独立二进制文件)。请务必登录并测试您是否可以访问自己的项目。
- 在 Firebase 控制台的 App Distribution 页面中,选择要分发的应用,然后点击开始。
-
运行
appdistribution:distribute
命令以上传您的应用并将其分发给测试人员。请使用以下参数配置分发:appdistribution:distribute 选项 --app
必填:您的应用的 Firebase 应用 ID。您可以在 Firebase 控制台的“常规设置”页面中找到此应用 ID。
--app 1:1234567890:android:0a1b2c3d4e5f67890
--token
使用 Firebase CLI 对 CI 环境进行身份验证时输出的刷新令牌(如需了解详情,请参阅将 CLI 与 CI 系统配合使用)。
--token "$FIREBASE_TOKEN"
--release-notes
--release-notes-file
此构建版本的版本说明。
您可以直接指定版本说明:
--release-notes "Text of release notes"
或者指定一个纯文本文件的路径:
--release-notes-file "/path/to/release-notes.txt"
--testers
--testers-file
您要邀请的测试人员的电子邮件地址。
您可以采用以英文逗号分隔的电子邮件地址列表的形式指定测试人员:
--testers "ali@example.com, bri@example.com, cal@example.com"
或者,您可以指定一个纯文本文件的路径,该文件包含以英文逗号分隔的电子邮件地址列表:
--testers-file "/path/to/testers.txt"
--groups
--groups-file
您要邀请的测试人员群组(请参阅管理测试人员)。使用
群组别名 指定群组,您可以在 Firebase 控制台中查找群组别名。您可以采用以英文逗号分隔的列表的形式来指定群组:
--groups "qa-team, trusted-testers"
或者,您可以指定一个纯文本文件的路径,该文件包含以英文逗号分隔的群组名称列表:
--groups-file "/path/to/groups.txt"
--debug
您可以添加的标志,用来显示详细日志输出。
--test-devices
--test-devices-file
以下分发类型属于自动化测试助手 Beta 版功能的一部分。
您要向其分发 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 appdistribution:distribute test.apk \ --app 1:1234567890:android:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txt
上传版本后,Firebase CLI 会输出以下链接。 这些链接可帮助您管理二进制文件,并确保测试人员和其他开发者拥有正确的版本:
firebase_console_uri
- 指向显示单个版本的 Firebase 控制台的链接。您可以将此链接分享给贵组织中的其他开发者。testing_uri
- 测试人员体验(Android 原生应用)中的版本链接,可让测试人员查看版本说明并将应用安装到设备上。测试人员需要有权访问相应版本才能使用该链接。binary_download_uri
- 用于直接下载并安装应用二进制文件(APK 或 AAB 文件)的签名链接。该链接会在 1 小时后过期。
管理测试人员和群组
除了分发版本之外,您还可以使用
appdistribution:testers:add
和appdistribution:testers:remove
邀请新的测试人员,或从 Firebase 项目中移除现有的测试人员。将测试人员添加到 Firebase 项目后,您可以将其添加到各个版本中。移除测试人员后,他们将无法再访问项目中的版本。请注意,最近被移除的测试人员在一段时间内仍然可以访问版本。
例如:
firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com
测试人员电子邮件地址必须以空格分隔。您还可以使用
--file /path/to/testers.txt
指定测试人员。如果您有大量测试人员,应考虑使用群组:您可以使用
appdistribution:group:create
和appdistribution:group:delete
在 Firebase 项目中创建或删除群组。使用
--group-alias
为appdistribution:testers:add
和appdistribution:testers:remove
命令指定群组。例如:
firebase appdistribution:group:create "QA team" qa-team
firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
firebase appdistribution:group:delete qa-team
当您分发 build 后,在 150 天(5 个月)内均可在 Firebase 控制台的 App Distribution 信息中心中访问它。当该 build 距离过期还有 30 天的时候,Firebase 控制台中和测试人员的测试设备上的 build 列表中都会显示到期通知。
之前未受邀测试应用的测试人员会收到邀请其开始测试的电子邮件,而现有测试人员将收到有关新 build 已可供测试的电子邮件通知(请参阅测试人员设置指南了解如何安装测试应用)。您可以在 Firebase 控制台中监控每个测试人员的状态:他们是否接受了邀请以及是否下载了应用。
在邀请到期前,测试人员有 30 天的时间来接受测试应用的邀请。 当邀请距离到期还有 5 天的时候,Firebase 控制台会在相应版本的测试人员旁边显示到期通知。您可以使用测试人员对应行中的下拉菜单重发邀请来重新开始邀请测试人员。
后续步骤
实现应用内反馈,以便测试人员轻松发送有关应用的反馈(包括屏幕截图)。
了解如何在有新的应用 build 可供安装时向测试人员显示相应的应用内提醒。
了解使用 CI/CD 将 Android 应用分发给质量检查测试人员的最佳实践。