Android Studio 的“旅程”功能利用 AI 的视觉和推理能力,根据您的自然语言指令来导航和测试应用。您的一组指令(称为“历程”)会转换为 AI 在应用上执行的操作。此外,您还可以编写和描述更复杂的断言,AI 会根据其在设备上看到的内容来评估这些断言。
由于 Gemini 会推理出要执行哪些操作才能实现目标,因此即使应用布局或行为发生细微变化,历程也能保持稳定,从而在针对不同版本的应用和不同的设备配置运行时,减少测试的不稳定性。
您可以直接在 Android Studio 中或通过命令行针对任何本地或远程 Android 设备编写和运行历程。IDE 提供全新的编辑器体验,可用于设计历程,还提供丰富的搜索结果,帮助您更好地了解 Gemini 的推理过程和历程执行情况。
撰写游记
Android Studio 提供了一个文件模板和全新的编辑器体验,可让您更轻松地创建和修改旅程。历程使用 XML 语法编写,用于整理历程说明和步骤。
如需创建并开始修改客户转化历程,请执行以下操作:
- 在 Android Studio 的 Project 面板中,右键点击要为其编写历程的应用模块。
- 依次选择 New > Test > Journey File。
在随即显示的对话框中,提供您的历程的名称和说明。
Android Studio 中用于创建历程文件的对话框。 点击 Finish。Android Studio 会创建一个 XML 文件,其中包含您选择的旅程名称。您可以使用代码视图直接修改 XML,也可以使用设计视图获得简化的修改体验。
在设计视图中查看客户转化历程时,请使用文本字段描述客户转化历程的每个步骤。每个步骤都可以包含您希望 Gemini 执行的描述性操作,也可以包含您希望 Gemini 评估的断言。
按键盘上的 Enter 键,在同一历程中开始新步骤。您可以根据需要,针对要定义的客户转化历程的每个步骤重复此操作。
撰写游记的技巧
虽然 AI 能够理解以支持的语言撰写的大多数步骤,但遵循以下撰写历程的提示可以获得更准确、更符合预期的结果:
- 假设应用已在前台运行:运行旅程会自动启动应用。旅程的步骤应在应用完全启动后开始。也就是说,您无需将“启动应用”作为步骤包含在内。
- 使用明确的语言:使用确切的语言可最大限度地减少误解,并提高可靠性。
| 而不是 | 建议做法 |
|---|---|
| “选择‘关闭’按钮” | “点按‘关闭’”,或直接说“关闭” |
| “输入‘芹菜’” | “在主屏幕顶部的搜索栏中输入‘芹菜’” |
| “滑动即可关闭” | “向左滑动即可关闭,然后该卡片应不再显示” |
- 将成功标准纳入步骤中:这有助于 Gemini 更好地理解您的意图,并明确何时完成操作以及何时可以开始执行下一个操作。
| 而不是 | 建议做法 |
|---|---|
| “选择‘发送’按钮” | 点按“提交”按钮即可发送电子邮件。这应该会关闭电子邮件,并让您返回收件箱。” |
| “前往购物车” | “点按购物车图标,系统会将您带到购物车页面。验证它是否包含零个商品” |
| “点击第一个视频” | “点击第一个视频,等待其完全加载” |
- 优化您的任务:如果任务未按预期执行,您可以查看结果并检查“采取的操作”和相应的“推理”,了解 Gemini 可能未按预期执行步骤的原因。您可以利用这些信息让说明更加清晰。
- 将您的历程分解为更具体的步骤:虽然 AI 可以解读多操作步骤,但有时更精细的离散步骤可能会提高历程的准确性和可重现性。
- “错误:无法在允许的最大尝试次数内成功完成操作”:如果您遇到此错误,请尝试将失败的步骤拆分为两个或更多个较小的步骤。这是因为,如果 AI 在尝试与您的应用进行最大次数的互动后仍无法完成操作,就会发生此错误。
支持的功能和不支持的功能
下面简要介绍了撰写 Journey 时受支持和尚未完全受支持的功能。以下列表并未列出所有相关网址。
在历程中,支持以下操作:
- 点按界面元素。
- 输入,将文本输入到文本字段中。
- 向特定方向滑动/滚动即可浏览界面。
以下功能目前未获得完全支持,或者可能表现不一致:
- 多指手势(例如双指张合以进行缩放)- 需要同时在屏幕上进行两个或更多个接触点的互动,例如双指张合以放大或缩小,或双指滑动。
- 长按 - 按住手指的时间长于标准点按。
- 点按两次 - 快速连续两次点按屏幕上的同一位置。
- 屏幕旋转/折叠 - 处理设备方向(例如纵向和横向)或可折叠设备的物理状态(例如打开或关闭)的变化。
- 记忆 - 在之前的互动或步骤中保留和回忆特定信息、上下文或用户输入内容。
- 计数 - 准确跟踪数量、频次或进度。
- 条件语句 - 根据是否满足其他指定条件来执行操作。
功能和功能在不断改进。建议您稍后查看此页面,了解更多功能和特性。如要帮助我们改进“旅程”,请分享您的反馈。
运行您的旅程
您可以像运行任何其他插桩测试一样,在任何可用的本地或远程设备上运行您的历程,并且 Android Studio 会生成丰富的结果,帮助您了解历程的执行情况。
如需测试转化历程,请执行以下操作:
- 从主工具栏中选择目标设备,就像运行插桩测试时一样。
- 找到要测试的历程 XML 文件,然后在编辑器中打开该文件。
- 在编辑器中,执行以下某项操作:
- 如果您处于设计视图中,请点击
Run Journey。 - 如果您处于代码视图中,请在 XML 中定义相应历程名称的位置旁边的边栏中,点击
Run 'test'。
- 如果您处于设计视图中,请点击
Android Studio 会为您创建 Journeys Test 配置,并在目标设备上运行该配置。在执行过程中,Android Studio 会构建并部署您的应用,并连接到 Gemini 以确定在体验的每个步骤中应采取的操作。
针对任何预安装的应用运行历程
您可以在测试设备上对预安装的应用运行历程。如果您想测试应用的正式版,或者尚未将应用更新到 Android Gradle 插件 9.0.0 或更高版本,此方法会很有用。
- 打开或创建新项目,并将该项目更新为 Android Gradle 插件 9.0.0 或更高版本。
- 撰写旅程。
- 修改相应历程的运行配置,并添加以下环境变量。当您尝试从 Android Studio 运行某个历程时,系统会自动创建运行配置。
JOURNEYS_CUSTOM_APP_ID设置目标应用的软件包 ID。
- 运行您修改的历程。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 中运行的其他插桩测试相比,用户体验测试的结果显示方式存在一些差异。
- 测试面板会将历程分解为各个离散的步骤。您可以点击每个步骤,详细了解 Gemini 的执行方式。
- 结果面板会显示丰富的信息,帮助您了解 Gemini 如何理解和推理您的旅程,以及如何执行旅程。
- 发送给 Gemini 的屏幕截图会显示在相应步骤的每个操作中,以提供视觉辅助。
- 每张屏幕截图旁边都描述了所采取的每项操作以及 Gemini 采取相应操作的原因。
- 步骤中的每项操作都已编号。
已知问题
- 在测试历程时,系统会默认授予应用的所有权限。
- 在搭载 Android 15(API 级别 35)的设备上测试历程时,您可能会在设备上看到一条警告,指出“不安全的应用已被屏蔽”,并显示“AndroidX 爬虫”。您可以点击仍要安装来绕过此检查。或者,您也可以配置设备上的开发者选项,然后停用通过 USB 验证应用选项。