Android Studio 的历程

Android Studio 的“旅程”功能利用 AI 的视觉和推理能力,根据您的自然语言指令来导航和测试应用。您的一组指令(称为“历程”)会转换为 AI 在应用上执行的操作。此外,您还可以编写和描述更复杂的断言,AI 会根据其在设备上看到的内容来评估这些断言。

Android Studio 的学习路线。
Android Studio 的学习路线。

由于 Gemini 会推理出要执行哪些操作才能实现目标,因此即使应用布局或行为发生细微变化,历程也能保持稳定,从而在针对不同版本的应用和不同的设备配置运行时,减少测试的不稳定性。

您可以直接在 Android Studio 中或通过命令行针对任何本地或远程 Android 设备编写和运行历程。IDE 提供全新的编辑器体验,可用于设计历程,还提供丰富的搜索结果,帮助您更好地了解 Gemini 的推理过程和历程执行情况。

撰写游记

Android Studio 提供了一个文件模板和全新的编辑器体验,可让您更轻松地创建和修改旅程。历程使用 XML 语法编写,用于整理历程说明和步骤。

Android Studio 中的历程编辑器,显示了一个包含历程步骤的 XML 文件。

如需创建并开始修改客户转化历程,请执行以下操作:

  1. 在 Android Studio 的 Project 面板中,右键点击要为其编写历程的应用模块。
  2. 依次选择 New > Test > Journey File
  3. 在随即显示的对话框中,提供您的历程的名称和说明。

    Android Studio 中用于创建历程文件的对话框。
    Android Studio 中用于创建历程文件的对话框。

  4. 点击 Finish。Android Studio 会创建一个 XML 文件,其中包含您选择的旅程名称。您可以使用代码视图直接修改 XML,也可以使用设计视图获得简化的修改体验。

  5. 设计视图中查看客户转化历程时,请使用文本字段描述客户转化历程的每个步骤。每个步骤都可以包含您希望 Gemini 执行的描述性操作,也可以包含您希望 Gemini 评估的断言。

  6. 按键盘上的 Enter 键,在同一历程中开始新步骤。您可以根据需要,针对要定义的客户转化历程的每个步骤重复此操作。

撰写游记的技巧

虽然 AI 能够理解以支持的语言撰写的大多数步骤,但遵循以下撰写历程的提示可以获得更准确、更符合预期的结果:

  • 假设应用已在前台运行:运行旅程会自动启动应用。旅程的步骤应在应用完全启动开始。也就是说,您无需将“启动应用”作为步骤包含在内。
  • 使用明确的语言:使用确切的语言可最大限度地减少误解,并提高可靠性。
而不是 建议做法
“选择‘关闭’按钮” “点按‘关闭’”,或直接说“关闭”
“输入‘芹菜’” “在主屏幕顶部的搜索栏中输入‘芹菜’”
“滑动即可关闭” “向左滑动即可关闭,然后该卡片应不再显示”
  • 将成功标准纳入步骤中:这有助于 Gemini 更好地理解您的意图,并明确何时完成操作以及何时可以开始执行下一个操作。
而不是 建议做法
“选择‘发送’按钮” 点按“提交”按钮即可发送电子邮件。这应该会关闭电子邮件,并让您返回收件箱。”
“前往购物车” “点按购物车图标,系统会将您带到购物车页面。验证它是否包含零个商品”
“点击第一个视频” “点击第一个视频,等待其完全加载”
  • 优化您的任务:如果任务未按预期执行,您可以查看结果并检查“采取的操作”和相应的“推理”,了解 Gemini 可能未按预期执行步骤的原因。您可以利用这些信息让说明更加清晰。
  • 将您的历程分解为更具体的步骤:虽然 AI 可以解读多操作步骤,但有时更精细的离散步骤可能会提高历程的准确性和可重现性。
    • “错误:无法在允许的最大尝试次数内成功完成操作”:如果您遇到此错误,请尝试将失败的步骤拆分为两个或更多个较小的步骤。这是因为,如果 AI 在尝试与您的应用进行最大次数的互动后仍无法完成操作,就会发生此错误。

支持的功能和不支持的功能

下面简要介绍了撰写 Journey 时受支持和尚未完全受支持的功能。以下列表并未列出所有相关网址。

在历程中,支持以下操作:

  • 点按界面元素。
  • 输入,将文本输入到文本字段中。
  • 向特定方向滑动/滚动即可浏览界面。

以下功能目前未获得完全支持,或者可能表现不一致:

  • 多指手势(例如双指张合以进行缩放)- 需要同时在屏幕上进行两个或更多个接触点的互动,例如双指张合以放大或缩小,或双指滑动。
  • 长按 - 按住手指的时间长于标准点按。
  • 点按两次 - 快速连续两次点按屏幕上的同一位置。
  • 屏幕旋转/折叠 - 处理设备方向(例如纵向和横向)或可折叠设备的物理状态(例如打开或关闭)的变化。
  • 记忆 - 在之前的互动或步骤中保留和回忆特定信息、上下文或用户输入内容。
  • 计数 - 准确跟踪数量、频次或进度。
  • 条件语句 - 根据是否满足其他指定条件来执行操作。

功能和功能在不断改进。建议您稍后查看此页面,了解更多功能和特性。如要帮助我们改进“旅程”,请分享您的反馈

运行您的旅程

您可以像运行任何其他插桩测试一样,在任何可用的本地或远程设备上运行您的历程,并且 Android Studio 会生成丰富的结果,帮助您了解历程的执行情况。

如需测试转化历程,请执行以下操作:

  1. 从主工具栏中选择目标设备,就像运行插桩测试时一样。
  2. 找到要测试的历程 XML 文件,然后在编辑器中打开该文件。
  3. 在编辑器中,执行以下某项操作:
    1. 如果您处于设计视图中,请点击 Run Journey
    2. 如果您处于代码视图中,请在 XML 中定义相应历程名称的位置旁边的边栏中,点击 Run 'test'

Android Studio 会为您创建 Journeys Test 配置,并在目标设备上运行该配置。在执行过程中,Android Studio 会构建并部署您的应用,并连接到 Gemini 以确定在体验的每个步骤中应采取的操作。

Android Studio 中的 Journey 测试结果面板,显示了步骤详细信息和 Gemini 的推理。
Android Studio 中的历程测试结果面板,显示了步骤详情和 Gemini 的推理过程。

针对任何预安装的应用运行历程

您可以在测试设备上对预安装的应用运行历程。如果您想测试应用的正式版,或者尚未将应用更新到 Android Gradle 插件 9.0.0 或更高版本,此方法会很有用。

  1. 打开或创建新项目,并将该项目更新为 Android Gradle 插件 9.0.0 或更高版本。
  2. 撰写旅程
  3. 修改相应历程的运行配置,并添加以下环境变量。当您尝试从 Android Studio 运行某个历程时,系统会自动创建运行配置。
    • JOURNEYS_CUSTOM_APP_ID 设置目标应用的软件包 ID。
  4. 运行您修改的历程。Android Studio 应在您指定的目标应用上执行相应旅程的步骤。

通过命令行运行历程

您还可以通过命令行以 Gradle 任务的形式运行 Journey。

设置

您需要向 Google Cloud 进行身份验证,才能从命令行使用 Journeys。

注意:这些步骤使用 gcloud CLI 提供用户凭据,这些凭据可能不适用于所有开发环境。如需详细了解应根据您的需求使用哪种身份验证流程,请参阅应用默认凭据的工作原理

如需安装 Google Cloud CLI,请按照安装 gcloud CLI 中的步骤操作。

对于用户凭据

您可以使用以下终端命令手动授权:

gcloud auth application-default login

对于服务账号凭据

如果您尚未为项目创建服务账号凭据,请按照相关指南操作。

  • 确保您已为创建服务账号密钥的项目启用 IAM Service Account Credentials API。
  • 确保您的管理员用户和服务账号已获授 Service Account Token Creator 权限。

如需进行身份验证,请运行以下命令:

gcloud auth application-default login --impersonate-service-account SERVICE_ACCOUNT_EMAIL

以 Gradle 任务的形式运行

通过直接在命令行中执行 Gradle 任务来运行 Journey。运行任务后,测试结果将显示在日志中,并生成 HTML 和 XML 测试结果文件。

运行所有 Journey 您可以使用以下命令运行测试套件中的所有 Journey。

./gradlew :app:testJourneysTestDefaultDebugTestSuite

运行单个历程 使用 JOURNEYS_FILTER 指定要运行的历程的名称,如下所示:

JOURNEYS_FILTER=your_journey_name.journey.xml ./gradlew :app:testJourneysTestDefaultDebugTestSuite

运行子目录中的所有历程JOURNEYS_FILTER 设置为子目录名称。例如,以下命令会运行测试套件根目录中 home 子目录内的所有 Journey。

JOURNEYS_FILTER=home ./gradlew :app:testJourneysTestDefaultDebugTestSuite

查看结果

当 Android Studio 完成对您的旅程的测试后,系统会自动显示测试结果面板,向您展示测试结果。

Android Studio 中的 Journey 测试结果面板,显示了步骤详细信息和 Gemini 的推理。
Android Studio 中的 Journey 测试结果面板,显示了步骤详情和 Gemini 的推理过程。

与您可能在 Android Studio 中运行的其他插桩测试相比,用户体验测试的结果显示方式存在一些差异。

  • 测试面板会将历程分解为各个离散的步骤。您可以点击每个步骤,详细了解 Gemini 的执行方式。
  • 结果面板会显示丰富的信息,帮助您了解 Gemini 如何理解和推理您的旅程,以及如何执行旅程。
    • 发送给 Gemini 的屏幕截图会显示在相应步骤的每个操作中,以提供视觉辅助。
    • 每张屏幕截图旁边都描述了所采取的每项操作以及 Gemini 采取相应操作的原因。
    • 步骤中的每项操作都已编号。

已知问题

  • 在测试历程时,系统会默认授予应用的所有权限。
  • 在搭载 Android 15(API 级别 35)的设备上测试历程时,您可能会在设备上看到一条警告,指出“不安全的应用已被屏蔽”,并显示“AndroidX 爬虫”。您可以点击仍要安装来绕过此检查。或者,您也可以配置设备上的开发者选项,然后停用通过 USB 验证应用选项。