Midscene:用自然语言跑 UI 端到端测试的视觉自动化指南(Web / Android / iOS 通用)
发布时间:2026/9/12 13:11:27 作者:尧图编辑部 阅读量:1,286
)
Midscene用自然语言跑 UI 端到端测试的视觉自动化指南Web / Android / iOS 通用【免费下载链接】midsceneGUI Agent for E2E Testing项目地址: https://gitcode.com/GitHub_Trending/mid/midsceneMidscene 是一个面向 E2E 测试的 GUI 自动化工具用视觉语言模型看懂截图再通过自然语言完成点击、输入、断言和数据提取。它不依赖 DOM 选择器同一套 Agent API 可覆盖 Web、Android、iOS、HarmonyOS 和桌面端。适合 QA、前端和自动化爱好者用它把页面看起来对不对变成可执行、可报告的测试步骤。它解决什么问题两个常见的真实场景仪表盘里全是 canvas 和自定义控件。前端同学写 E2E 时选择器要么不存在、要么重构后集体失效。Midscene 按外观和位置找元素图标按钮、canvas、跨域 iframe 内的内容都能直接操作。同一条流程要跑多个端。Web、Android、iOS 各学一套 SDK脚本没法复用。Midscene 的aiAct、aiAssert、aiQuery等 API 在各平台保持一致换平台主要换设备和配置不换写法。适合谁使用维度说明适用内部工具、后台系统的回归测试跨端团队维护同一套流程canvas / iframe 重、无语义标记的界面快速验证AI 能不能跑通某流程不适用对执行时长敏感的线上高频巡检每步都走模型调用完全离线环境需要像素级确定性断言的场景前置条件Node.js20.19、22.12或24一个具备 UI 定位能力的多模态模型的 API KeyAndroid 端需装好 adb 并完成设备授权源码开发另需 pnpm 9.3.0从仓库到可运行的最短路径路径 A直接用 CLI推荐新手npm i -g midscene/cli在运行目录放一个.env填模型配置再写一个 YAML 脚本即可执行MIDSCENE_MODEL_BASE_URL你的模型服务地址/v1 MIDSCENE_MODEL_API_KEY你的 API Key MIDSCENE_MODEL_NAME模型名 MIDSCENE_MODEL_FAMILY模型系列支持哪些模型及完整配置示例以 model-common-config 文档 为准。路径 B从源码构建贡献者或想研究实现git clone https://gitcode.com/GitHub_Trending/mid/midscene cd midscene pnpm install pnpm build各平台 SDK 的源码分布在 packages/ 下如packages/web-integration、packages/android、packages/ios、packages/computer。关键能力与使用边界能力视觉定位元素无需选择器和语义标注能处理 canvas 与自定义控件aiAct自然语言执行流程、aiTap/aiInput单步操作、aiAssert界面断言、aiQuery结构化数据提取可挂进现有 Playwright / Puppeteer 项目也可用 Midscene Test 的 YAML TypeScript 节点写新测试项目目前 Beta运行后生成交互式 HTML 报告截图、元素位置、AI 决策过程、断言结果都能回溯边界与成本每步都要调模型执行速度比纯选择器方案慢且费用按 API 用量计脚本越长越贵定位结果依赖所选模型能力换模型可能需要重新校准指令措辞断言是看起来对不对不适合作为像素级精确校验官方称截图驱动的调用比传整棵 DOM 更省 token实际成本仍建议小规模试跑后估算高风险操作提交、删除建议保留人工确认不要让 Agent 全自动走完一个典型任务示例场景每次发版前检查内部门户的审批页是否能正常检索并展示驳回入口。写好 YAML 脚本page: url: https://portal.example.com/approval tasks: - name: 检查审批列表 flow: - ai: 在搜索框输入待处理并点击查询 - aiAssert: 列表中出现至少一条待审批记录 - ai: 打开第一条记录确认页面上存在驳回按钮执行midscene ./approval-check.yaml打开生成的 HTML 报告确认每一步的截图与断言结果符合预期把脚本纳入发版检查流程失败时直接看报告定位是哪一步偏离YAML 脚本的完整字段说明见 automate-with-scripts-in-yaml。注意该 YAML Runner 属于旧方案新项目可评估 Midscene TestBeta以仓库最新文档为准。上手前检查清单Node 版本低于20.19的 20.x 小版本如20.17.0会被 Rspack 拒绝遇到Unsupported Node.js version先升级 Node.env位置放在执行命令的目录不是 YAML 旁边不要加export前缀Android 连接先跑adb devices -l确认设备在线且已授权再谈脚本见 Android 指南本地模型 403用 Ollama 时报错可设OLLAMA_ORIGINS*文档入口快速开始、YAML 脚本执行器、API 参考示例脚本packages/cli/tests/midscene_scripts/ 下有现成 YAML 可参考常见问题Q一定要配云端模型吗不一定。支持多种多模态模型也包含可自托管的开源模型选项具体以 model-config 文档 为准。Q跑 Web 测试一定要改现有 Playwright 工程吗不需要。可以先通过 Chrome 扩展的 Playground 验证自然语言指令再决定是否接入代码降低前期成本。Q脚本失败了怎么排查看 HTML 报告中每一步的截图和 AI 决策记录若元素定位持续失败优先检查页面是否加载完成、指令描述是否与当前页面一致。【免费下载链接】midsceneGUI Agent for E2E Testing项目地址: https://gitcode.com/GitHub_Trending/mid/midscene创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考