Android Studio 的历程

为 Android Studio 创建历程有助于简化端到端测试的编写和维护,因为您可以使用自然语言描述每项测试的步骤和断言(称为历程)。借助 Gemini 的视觉和推理能力,系统会将用自然语言编写的步骤转换为 Gemini 在您的应用中执行的操作,从而让您的历程既易于编写又易于理解。此外,您还可以编写和描述更复杂的断言,Gemini 会根据在设备上看到的内容对其进行评估,以确定您的历程是通过还是失败。

由于 Gemini 会推理出为满足目标而执行哪些操作,因此相应历程对应用布局或行为的细微变化更具弹性,从而导致在针对不同版本的应用和不同设备配置运行时,出现不稳定测试的情况更少。

直接在 Android Studio 中针对任何本地或远程 Android 设备编写和运行历程。IDE 提供了全新的编辑器体验,可用于制作旅程和富媒体搜索结果,有助于您更好地跟踪 Gemini 对旅程的推理和执行。

编写一段旅程

Android Studio 提供了文件模板和全新的编辑器体验,可简化创建和编辑流程。使用 XML 语法编写历程,以整理历程说明和步骤。

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

  1. 在 Android Studio 的 Project 面板中,右键点击您要为其编写历程的应用模块。
  2. 依次选择 New > Test > Journey File
  3. 在随即显示的对话框中,提供您的行程名称和说明。
  4. 点击 OK。Android Studio 会为您的历程创建一个 XML 文件,并使用您选择的名称。您可以使用 Code 视图直接修改 XML,也可以使用 Design 视图获得更出色的编辑体验。
  5. 设计视图中查看转化历程时,请使用文本字段描述转化历程的每个步骤。每个步骤都可以包含您希望 Gemini 执行的描述性操作,或您希望 Gemini 评估的断言。
  6. 按键盘上的 Enter 键即可在同一历程中发出新提示。您可以根据需要对要定义的历程的每个步骤重复此操作。

关于撰写历程的提示

以详细且有条理的方式编写您的历程,有助于 Gemini 更确定地准确运行您预期的历程。以下是一些有助于您更高效地撰写历程的提示:

  • 避免明确的单个操作:Gemini 可以将您的历程的每个步骤转换为多项操作。避免编写明确的单个操作提示,例如“点击 X”,因为该模型已训练为完成复杂的目标。
  • 将断言与操作分开:Gemini 会不断评估应用的状态,以确定应用是否处于“正确”状态以继续历程。不过,您可能需要单独定义更复杂的断言。此外,在开始每个提示时,请使用“验证”“断言”或“检查”等关键字,让 Gemini 知道此步骤是断言。
  • 通过滑动指令 Gemini:除了点按或键盘输入等基本互动之外,Gemini 还支持需要它在特定方向上滑动屏幕的操作。例如,如需滚动浏览内容或关闭某些界面,只需描述滑动操作的方向和意图即可。默认情况下,Gemini 会从屏幕中心滑动,但您可以引导它在设备屏幕的其他部分滑动。
  • 避免其他复杂的互动和配置变更:Gemini 目前不支持所有互动和配置变更,例如多指手势、屏幕旋转或折叠操作。该团队正在努力改进 Gemini 功能。

运行您的旅程

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

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

  1. 从主工具栏中选择目标设备,就像运行插桩测试时一样。
  2. 找到要测试的历程 XML 文件,并在编辑器中打开该文件。
  3. 在编辑器中,执行以下操作之一:
    1. 如果您当前使用的是 Design 视图,请点击 Run Journey(运行历程)。
    2. 如果您在 Code 视图中,请点击 XML 中定义历程名称旁边边线中的 Run

Android Studio 会为您创建历程测试配置,并在目标设备上运行该测试。在执行过程中,Android Studio 会构建和部署您的应用,并连接到 Gemini,以确定在流程的每个步骤中应执行哪些操作。

在运行历程时,编辑器中也会显示有限的结果,例如屏幕截图、执行的操作以及在执行历程的每个步骤期间的推理过程。只需将鼠标悬停在编辑器中的缩略图上,即可查看更多信息。这在迭代转化历程中的提示时非常有用。

查看结果

Android Studio 完成测试历程后,测试结果面板会自动显示,以向您显示结果。

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

  • 测试面板会将历程细分为各个步骤。您可以点击每个步骤,详细了解 Gemini 如何执行该步骤。
  • 结果面板会显示丰富的信息,帮助您了解 Gemini 如何理解和推理您的转化历程,以及该历程的执行方式。
  • 系统会在步骤中的每项操作中显示发送给 Gemini 的屏幕截图,以提供直观的帮助。
  • 每个屏幕截图旁边都会说明 Gemini 执行的每项操作以及执行该操作的原因。
  • 步骤中的每项操作都有编号。

已知问题

  • 测试历程时,系统会默认授予应用所有权限。
  • 在搭载 Android 15(API 级别 35)的设备上测试历程时,您可能会在设备上看到针对“AndroidX Crawler”显示的“已屏蔽不安全的应用”警告。您可以点击无论如何安装来绕过此检查。或者,您也可以配置设备上的开发者选项,然后停用验证通过 USB 安装的应用选项。
  • 历程文件目前不会显示在项目面板的 Android 视图中。如需查看项目中的历程文件,请使用 Project 视图。
  • 如果旅程中的多个操作使用完全相同的提示,则旅程编辑器中显示的测试结果可能不正确。具体而言,包含重复提示的所有操作都将显示与该提示最近更新的实例相关联的测试结果。如需解决此问题,请确保每项操作都有唯一的提示,例如,通过添加不同的前缀或后缀。
  • 在全新模拟器上第二次加载键盘时,系统会显示触控笔弹出式窗口。此弹出式窗口通常会导致与文本字段互动的测试失败。发生这种情况时,请关闭弹出式窗口并重新运行历程。
  • 应用抓取工具工件有时可能会显示在代理理由中。
  • 历程执行有时会失败并返回 IllegalStateException。在这种情况下,您可以点击测试结果查看完整错误。
  • 如果顶级 build.gradle 文件中未定义 Android Gradle 插件 (com.android.application),您在运行历程时可能会看到以下错误:

    Failed to apply plugin class 'com.android.tools.journeys.JourneysGradlePlugin'
    

    如需解决此问题,请确保在顶级 build.gradle 文件中定义该插件。如需了解详情,请参阅配置 Android 构建系统