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

运行 Robo 脚本

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

本文档介绍了如何使用Robo 脚本,这些脚本可以自动执行移动应用程序的手动 QA 任务,并启用持续集成 (CI) 和发布前测试策略。例如,您可以使用 Robo 脚本来测试常见的用户旅程或提供特定的用户界面 (UI) 输入,例如用户名和密码。 Robo 脚本是Robo 测试的一项功能。

使用 Robo 脚本,您可以记录自己在应用程序中的工作流程,然后将该记录上传到 Firebase 控制台以在 Robo 测试中运行。当您在附加脚本的情况下运行 Robo 测试时,Robo 首先会逐步执行您预先编写好的操作,然后像往常一样探索应用程序。

Robo 脚本在首次使用Robo 测试作为测试引擎加载应用程序时开始。在其最基本的形式中,Robo 脚本由一系列 UI 操作组成,例如输入文本“用户名” ,然后点击 OK 按钮。 Robo 脚本还可以包含诸如等待元素出现、点击元素中的特定点以及执行 Android 调试桥 ( adb ) shell 命令等操作。

与传统测试框架相比,Robo 脚本具有以下优势:

能力描述
高度稳健Robo 脚本可以容忍应用程序版本和应用程序脆弱性之间的显着结构和行为差异。
开放式在 Robo 脚本完成后,基础 Robo 测试可以接管并继续测试应用程序。这种持续的测试方法支持几个关键用例。例如,您可以使用 Robo 脚本通过执行自定义登录流程将应用程序带入特定状态。
可记录您无需手动编写 Robo 脚本。可以使用 Android Studio 中的 Robo 脚本记录器记录它们。创建或修改 Robo 脚本通常不需要任何移动开发知识。
灵活的Robo 脚本可以与游戏中常见的非原生 UI 元素进行交互。

我们建议您尽可能使用 Robo 脚本,因为它们易于维护。例如,您可以使用 Robo 脚本执行以下操作:

  • 浏览重要的工作流程以了解应用程序功能的核心。例如,您可以执行登录、设置应用程序首次启动后的状态以及注册新用户。
  • 将 Robo 专注于应用程序的特定部分,以充分利用 Robo 测试时间。 Robo 脚本引导 Robo 测试到达应用程序的相关部分,在该部分中,Robo 测试恢复全自动爬网。
  • 将应用程序带入特定状态或屏幕以执行分析,例如分析应用程序内消息、隐私政策或特定级别的游戏。
  • 在 Robo 脚本完成后,执行端到端检测测试,无论是否使用 Robo 测试恢复全自动爬网。

请记住,Robo 脚本不会取代所有类型的测试。你仍然需要单元测试来捕捉应用程序中的低级逻辑错误;这些测试通常不需要 Android 或 iOS 环境。我们建议您使用有针对性的仪器测试来补充 Robo 脚本测试,这些测试可以具有关于业务逻辑的具体、详细的断言,最好用代码来表达。

在 Android Studio 中使用测试实验室录制 Robo 脚本

Android Studio 中的 Robo 脚本记录器可让您通过直接与设备上的应用交互来记录 Robo 脚本。按照以下说明通过 Android Studio 中的 Firebase 工具开始使用 Robo 脚本:

  1. 打开Android Studio并选择Tools -> Firebase

  2. 在 Firebase 窗格中,单击Record Robo Script and Use it to Guide Robo Test

  3. 单击录制 Robo 脚本。将出现“选择部署目标”对话框。

  4. 选择要在其中录制 Robo 脚本的设备。

  5. 在设备中录制 Robo 脚本后,将文件保存为所需位置的 JSON 文件。

  6. 在 Firebase 控制台中打开测试实验室页面并上传 JSON 脚本文件和应用程序 APK。

  7. 单击继续按钮。系统会提示您选择设备和 API 级别。测试脚本完成后,测试实验室生成测试报告。

  8. (可选)复制或下载测试报告的logcat和视频,点击查看源文件

默认情况下,Robo 脚本稳健性机制可防止其过早失败。如果您选择strict执行模式并且 Robo 脚本在任何时候失败,则测试实验室会放弃脚本中的所有进一步步骤并恢复常规的 Robo 爬网。大多数情况下,Robo 脚本会失败,因为 Robo 在屏幕上找不到所需的元素。为避免失败,请确保您的应用导航是可预测的,并且您的屏幕以确定的顺序显示。

在测试实验室中运行 Robo 脚本

要在测试实验室中运行 Robo 脚本,请按照以下说明操作:

  1. 在 Firebase 控制台中打开测试实验室页面。

  2. App APK 或 AAB 字段中上传应用的 APK 或 AAB。

  3. Robo 脚本(可选)字段中上传您录制或手动创建的 Robo 脚本文件。

为本地 Robo 测试运行提供 Robo 脚本

要为本地 Robo 测试运行提供 Robo 脚本,请使用以下 Robo 测试选项:

--robo-script-file <robo-script-path>

<robo-script-path>替换为本地文件系统中的 Robo 脚本文件的路径。按照说明进行本地 Robo 测试运行

在 gcloud CLI 测试调用中指定 Robo 脚本

要在 gcloud CLI 测试调用中指定 Robo 脚本,请使用以下 gcloud CLI 标志:

--robo-script = <robo-script-path>

使用gs://表示法将<robo-script-path>替换为本地文件系统或 Cloud Storage 中的 Robo 脚本文件的路径。例如:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

下一步