使用 Firebase CLI 将 iOS 应用分发给测试人员

您可以使用 Firebase CLI 将 build 分发给测试人员。借助此 CLI 工具,您可以为某个 build 指定测试人员和版本说明,并相应地分发该 build。

如需将您的应用分发给测试人员,请使用 Firebase CLI 上传此 IPA 文件:

  1. 安装或更新至最新版本的 Firebase CLI(建议您下载特定于您的操作系统的 CLI 对应的独立二进制文件)。请务必登录并测试您是否可以访问自己的项目。
  2. Firebase 控制台的 App Distribution 页面中,选择要分发的应用,然后点击开始
  3. 运行 appdistribution:distribute 命令以上传您的应用并将其分发给测试人员。请使用以下参数配置分发:

    appdistribution:distribute 选项
    --app

    必填:您的应用的 Firebase 应用 ID。您可以在 Firebase 控制台的“常规设置”页面中找到此应用 ID。

    --app 1:1234567890:ios: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.ipa  \
        --app 1:1234567890:ios:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt

    上传版本后,Firebase CLI 会输出以下链接。 这些链接可帮助您管理二进制文件,并确保测试人员和其他开发者拥有正确的版本:

    • firebase_console_uri - 指向显示单个版本的 Firebase 控制台的链接。您可以将此链接分享给贵组织中的其他开发者。
    • testing_uri - 测试人员体验中的版本链接(iOS Web Clip),可让测试人员查看版本说明并将应用安装到设备上。测试人员需要有权访问相应版本才能使用该链接。
    • binary_download_uri - 用于直接下载并安装应用二进制文件(IPA 文件)的签名链接。该链接会在 1 小时后过期。

    管理测试人员和群组

    除了分发版本之外,您还可以使用 appdistribution:testers:addappdistribution: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:createappdistribution:group:delete 在 Firebase 项目中创建或删除群组。

    使用 --group-aliasappdistribution:testers:addappdistribution: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 控制台会在相应版本的测试人员旁边显示到期通知。您可以使用测试人员对应行中的下拉菜单重发邀请来重新开始邀请测试人员。

后续步骤