使用Midscene对安卓应用进行自动化测试

Midscene 可以驱动 adb 工具来实现 Android 自动化。
由于Midscene 适配了人工智能视觉模型方案,整个自动化过程可以适配任意的 App 技术栈,无论是 Native、Flutter 还是 React Native 构建的 App 或小程序都能使用。开发者只需面向最终效果调试 UI 自动化脚本即可。
Android UI 自动化解决方案具备 Midscene 的全部特性:

  • 支持使用 Playground 进行零代码试用。
  • 支持 JavaScript SDK。
  • 支持使用 YAML 格式的自动化脚本和命令行工具。
  • 支持生成 HTML 报告来回放所有操作路径。

测试环境部署准备工作

首先确认 adb 能够连接手机设备且设备信任当前电脑。

安装 adb 并设 置 ANDROID_HOME环境变量

启用 USB 调试并验证设备

在系统设置的开发者选项中开启 USB 调试(若有 USB 调试(安全设置) 也请一并开启),然后用数据线连接手机。

验证连接:adb devices

试用 Playground(零代码)

Playground 是验证连接、观察 AI Agent 的最快方式,无需编写代码。它与 @midscene/android 共享相同的代码实现,因此在 Playground 上验证通过的流程,用脚本运行时也完全一致。

  1. 启动 Playground CLI: npx --yes @midscene/android-playground

  2. **设置模型API Key配置:**点击上图Playground窗口中的齿轮设置图标,配置环境变量,以下以千问模型为例。
python 复制代码
MIDSCENE_MODEL_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
MIDSCENE_MODEL_API_KEY="sk-xxxx" MIDSCENE_MODEL_NAME="qwen3.5-plus"
MIDSCENE_MODEL_FAMILY="qwen3.5"

开始体验

配置完成后,可以立即开始体验 Midscene。它提供了多个关键操作 Tab:

  • Act : 与网页进行交互,这就是自动规划(Auto Planning),对应于 aiAct 方法。比如
    打开百度应用,并在搜索框中输入 Midscene,执行搜索,并跳转到第一条结果
  • Query : 从界面中提取 JSON 结构的数据,对应于 aiQuery 方法。
    类似的方法还有 aiBoolean(), aiNumber(), aiString(),用于直接提取布尔值、数字和字符串。
    如:提取页面中的用户 ID,返回 { id: string } 结构的 JSON 数据
  • Assert : 理解页面,进行断言,如果不满足则抛出错误,对应于 aiAssert 方法。
    如: 页面上存在一个登录按钮,它的下方有一个用户协议的链接
  • Tap : 在某个元素上点击,这就是即时操作(Instant Action),对应于 aiTap 方法。
    如: 点击登录按钮
    关于自动规划(Auto Planning)和即时操作(Instant Action)的区别,请参考 API 文档。
    以上参考: https://midscenejs.com/zh/android-introduction.html
相关推荐
AITest研究员12 天前
Midscene 实战:告别 XPath,用自然语言实现 UI 自动化测试
ui自动化测试·midscene
低调小一20 天前
Midscene.js 原理拆解:它不是“自然语言点按钮”,而是一套会看屏幕的 UI 自动化运行时
人工智能·rnn·架构·大模型·transformer·tdd·midscene
aovenus2 个月前
Midscene-视觉驱动的 AI UI 自动化工具
midscene
sandwu5 个月前
AI自动化测试(一)
人工智能·agent·playwright·ai自动化测试·midscene
测试者家园8 个月前
Midscene.js为什么能通过大语言模型成功定位页面元素
javascript·自动化测试·人工智能·大语言模型·智能化测试·软件开发和测试·midscene