如何用 Midscene 跑通自然语言界面自动化:一份实操指南

发布时间:2026/9/11 16:59:55
如何用 Midscene 跑通自然语言界面自动化:一份实操指南 如何用 Midscene 跑通自然语言界面自动化一份实操指南【免费下载链接】midsceneGUI Agent for E2E Testing项目地址: https://gitcode.com/GitHub_Trending/mid/midscene维护 E2E 测试最头疼的两件事选择器一改页面就失效以及颜色、布局这类视觉效果根本断言不了。Midscene 是一个自然语言驱动的界面自动化框架你只需用一句话描述操作它就看屏幕替你完成点击、输入和校验覆盖 Web、Android、iOS 与桌面。Midscene 解决什么问题测试维护成本高。传统自动化依赖选择器和 DOM 结构页面一重构脚本就坏图标按钮、canvas画布、跨域 iframe 这类没有语义标记的元素选择器根本抓不到。Midscene 只靠截图定位人眼能看到的元素它都能操作。视觉层面无法验证。传统断言只能确认某个 DOM 节点存在而 Midscene 的aiAssert界面断言 API能验证页面实际显示的颜色、高亮和布局是否正确更接近用户的真实所见。多端各写一套。Web、Android、iOS、HarmonyOS、桌面端共用同一套 API写自动化流程的逻辑不用换平台重来。核心能力拆解用自然语言驱动多步操作aiAct接收一句目标描述如搜索耳机把第一件商品加入购物车确认购物车数量变为 1它会自动观察界面、规划步骤、定位元素并执行直到目标完成。适合路径不确定的多步骤任务执行中会持续根据最新界面重新规划。从界面提取结构化数据aiQuery用提示词描述要的数据和格式直接返回 JSON。例如让模型返回页面中的商品{name: string, price: number}[]你就拿到一组商品名和价格无需自己解析 DOM。验证用户实际看到的内容aiAssert检查自然语言描述的条件不满足时抛出带原因说明的错误。写回归测试时购物车显示小计金额这类断言比查 DOM 节点更直观。零代码 Playground 与可视化报告不写代码也能试各平台都提供 Playground在侧边栏输入指令即可看到执行效果。用 CLI 跑脚本时每次执行结束都会生成可视化 HTML 报告逐步展示截图和操作过程方便定位哪一步出了问题。能驱动哪些平台Web 端可以接入你现有的 Playwright 或 Puppeteer 项目也可以直接用 Chrome 扩展在浏览器里跑Android 通过 adb 连接设备iOS 通过 WebDriverAgentHarmonyOS 通过 hdc。桌面端Windows/macOS/Linux能操作鼠标键盘控制本地应用。此外还支持任意自定义界面只要能截图并发出点击、输入指令就能接入同一套 API。从零跑通第一个任务第一步安装 CLI 工具。要求 Node.js 版本为 20.19、22.12 或 24npm i -g midscene/cli第二步配置模型。Midscene 依赖一个有 UI 定位能力的多模态模型如 Qwen、Doubao、GLM、Gemini 或可自托管的 UI-TARS。在运行目录建一个.env文件写入MIDSCENE_MODEL_BASE_URL、MIDSCENE_MODEL_API_KEY、MIDSCENE_MODEL_NAME、MIDSCENE_MODEL_FAMILY四个变量指向你的模型服务。第三步写第一个 YAML 脚本保存为bing-search.yamlpage: url: https://www.bing.com tasks: - name: 搜索天气 flow: [ai: 搜索今日天气]第四步一条命令执行浏览器会自动打开并完成搜索midscene bing-search.yaml运行结束后你会看到执行进度和一份可视化报告。它是怎么工作的可以把它想象成一个只看屏幕的临时操作员。每执行一步它先截一张屏幕截图交给多模态视觉模型模型看图后回答下一步该做什么、目标元素在屏幕什么位置。Midscene 据此发出真实的点击、输入指令然后再截图、再问、再执行循环直到任务完成或断言给出结论。整个过程不读 DOM、不依赖选择器所以页面怎么改布局它都不在意——它关心的只有画面长什么样。代价是每步都要一次模型调用比直接操作 DOM 慢一些也费一些 token。实用技巧.env的位置有讲究必须放在运行midscene命令的目录下而不是 YAML 文件所在目录。变量不会覆盖已存在的全局同名变量需要时用--dotenv-override参数。复杂任务加两个开关aiAct支持deepThink把任务拆解和元素定位拆成两次模型调用提高稳定性和deepLocate增加一次定位调用适合目标元素小、容易混淆的场景。默认不开跑失败时优先试这两个。流程稳定后用缓存YAML 的agent.cache配置支持read-only/read-write策略已执行过的步骤可直接复用模型结果重复任务的时间和 token 成本明显下降。想控制自己已打开的浏览器用 Bridge 模式CLI 不再新开浏览器而是接管你现有的 Chrome 页面适合需要复用登录态的场景。常见问题Q必须会写代码吗A不一定。先用各平台的 Playground 或 Chrome 扩展体验要固化成流程时YAML 脚本基本就是写句子JavaScript SDK 才涉及编码。Q需要自己准备模型服务吗A需要。Midscene 本体不带模型你要配置一个支持 UI 定位的多模态模型的 API也可自托管开源模型如 UI-TARS。QaiAct和aiTap怎么选A路径不确定、多步骤用aiAct单步确定性操作用aiTap、aiInput等即时交互 API更快也更省 token。QNode 版本报Unsupported Node.js version怎么办A升级 Node.js 到 20.19、22.12 或 24 后重装 CLI。部分旧版 Node 20 补丁号会被底层工具链拒绝。上手建议与资源入口建议先从 YAML 脚本 CLI 开始跑通一个搜索类任务再逐步加入aiQuery取数和aiAssert断言。相关入口官方文档中文apps/site/docs/zh/核心引擎源码packages/core/CLI 工具与 YAML 示例packages/cli/、packages/cli/tests/各平台 Playground 前端packages/playground-app/【免费下载链接】midsceneGUI Agent for E2E Testing项目地址: https://gitcode.com/GitHub_Trending/mid/midscene创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考