Firebase 测试实验室 Robo 测试

Robo 测试是一款与 Firebase 测试实验室集成的测试工具。Robo 测试会先分析应用界面的结构,然后通过自动模拟用户活动有条不紊地进行探索。与 UI/Application Exerciser Monkey 测试不同,当您使用 Robo 测试在特定设备配置上以相同的设置来测试应用时,Robo 测试会始终以同一顺序模拟相同的用户活动。这样一来,您可以使用 Robo 测试来验证错误修复情况并测试回归情况,而使用 UI/Application Exerciser Monkey 测试则无法进行这些测试。

Robo 测试可捕获日志文件并保存一系列带有注释的屏幕截图,然后使用这些屏幕截图创建视频,向您展示它模拟的用户操作。这些日志、屏幕截图和视频有助于您确定应用发生崩溃的根本原因,并发现应用界面存在的问题。

Robo 测试超时

Robo 测试可能需要 5 分钟或更长的时间,才能完成一整套的界面互动,具体视应用界面的复杂程度而定。我们建议对大多数应用至少设置 120 秒(2 分钟)的测试超时,对比较复杂的应用设置 300 秒(5 分钟)的测试超时。通过 Android Studio 和 Google Developer Console 运行的测试的默认超时值为 300 秒(5 分钟),通过 gcloud 命令行运行的测试的默认超时值为 1500 秒(25 分钟)。

通过 Robo 脚本获得更多控制权

有时候,您需要更好地控制测试。例如,您可能需要测试常见的用户操作历程或提供特定的界面输入(例如用户名和密码)。Robo 脚本可以在这方面提供帮助。

通过 Robo 脚本,您可以记录自己在应用中完成某个工作流程的每一步,然后将记录内容上传到 Firebase 控制台以在 Robo 测试中运行。当您运行附加了脚本的 Robo 测试时,Robo 会先逐步执行您预先编写了脚本的操作,然后继续像平常那样探索该应用。

在 Android Studio 中开始通过 Firebase 工具使用 Robo 脚本:

  1. 打开 Android Studio。
  2. 在主菜单中,依次选择工具 (Tools) > Firebase
  3. 选择测试实验室 (Test Lab),然后点击记录 Robo 脚本并将其用于指导 Robo 测试 (Record Robo Script and use it to Guide Robo Test)。
  4. 按照该工具中的其余步骤记录 Robo 脚本。
  5. 将该 Robo 脚本上传到测试实验室并开始测试。

与 Google Play 进行集成

如果您使用 alpha 或 beta 测试版渠道上传和发布应用的 APK 文件,则可以在 Google Play 管理中心中使用 Robo 测试。Robo 测试可以在一组位于不同地理位置的常用真机设备上运行,测试范围可覆盖各种设备类型和硬件配置。要了解详细信息,请参阅通过发布前测试报告发现问题

测试帐号登录和预定义文本输入

Robo 测试支持测试帐号登录,还允许在应用的字段中输入预定义的文本。为了实现自定义登录和其他预定义的文本输入,Robo 测试可以在应用的 EditText 字段中输入文本。对于每个字符串,您需要使用 Android 资源名称来标识 EditText 字段。如需了解详细信息,请参阅访问资源

登录

Robo 测试支持两种相悖的登录方法:

  • 自定义登录:如果您提供测试帐号凭据,您需要指示 Robo 测试在哪里输入凭据,还应提供这些凭据。
  • 自动登录:如果您的应用具有使用 Google 帐号进行身份验证的登录屏幕,Robo 测试会使用 Google 测试帐号,除非您提供测试帐号凭据以进行自定义登录。

要为自定义登录提供测试帐号凭据,请执行以下操作:

  1. 选择维度页面上,选择显示高级选项
  2. 测试帐号凭据(可选)下,输入用户名和密码资源名称以及测试帐号的用户名和密码。

预定义文本输入

您可以为应用使用的其他文本字段提供自定义输入文本。要为其他字段提供文本输入,请执行以下操作:

  1. 选择维度页面上,选择显示高级选项
  2. 其他字段(可选)下,输入一个或多个资源名称,然后在相应文本字段中输入字符串。

您最多可以提供三个您的应用支持的深层链接,以执行测试。深层链接作为 Android ACTION_VIEW Intent 发布到您的应用。因此,每个链接必须与应用中的 Intent 过滤器相匹配。

如果您提供了一个或多个深层链接,则应用首先会正常启动(使用 ACTION_MAIN Intent)并执行抓取,直至达到指定的超时。主要抓取操作完成后,系统会分别对每个深度链接再执行 30 秒的抓取。

应用许可支持

测试实验室支持使用 Google Play 应用许可服务的应用。在通过测试实验室测试您的应用时,要成功检查许可,您必须将该应用发布到 Play 商店中的正式版渠道。要使用测试实验室在 Alpha 或 Beta 渠道中测试您的应用,请在将该应用上传到测试实验室之前取消许可检查。

已知问题

Robo 测试目前具有以下已知限制:

  • 界面框架支持:Robo 测试仅与使用来自 Android 界面框架(包括 ViewViewGroup 对象,但不包括 WebView 对象)的界面元素的应用兼容。如果您对使用其他界面框架的应用(包括使用 Unity 游戏引擎的应用)执行 Robo 测试,可能会导致立即退出测试;也就是说,除了首屏,测试不会探索其他任何部分。
  • 登录人机识别系统验证:如果用户在登录屏幕上除了输入登录凭据之外还需要执行额外操作(例如完成人机识别系统验证),则 Robo 测试将无法绕过登录屏幕。

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面