
Midscene 如何用自然语言驱动 E2E 测试【免费下载链接】midsceneGUI Agent for E2E Testing项目地址: https://gitcode.com/GitHub_Trending/mid/midscene当版本发布频繁、页面改动快你维护的 E2E 测试脚本总是一遍遍失效。Midscene 正是为此而来——它面向 QA 与前端开发者你只需写一句自然语言比如搜索耳机并筛选低于 100 美元的商品它就会像人一样观察屏幕、点击、核对结果。它到底是什么Midscene 是一个面向 E2E 测试的 GUI AgentAI 视觉驱动用同一套 Agent API 覆盖 Web、Android、iOS、HarmonyOS 和桌面应用。它不止于会点鼠标还打包了完整的 Testing Kit——测试框架、交互式 HTML 报告和可集成的 API让你把界面自动化沉淀成可持续维护的测试工程。说白了它和传统方案的本质区别在于顺序。老思路是先写选择器再碰屏幕页面一改版用例就崩Midscene 是先看清屏幕再谈操作——靠截图里元素的外观和位置定位纯图标按钮、canvas绘制的内容、跨域 iframe 都能处理。断言同理它验证的是用户真正看到的效果而不是 DOM 背后的数据。五个值得留意的能力视觉定位元素告别 CSS 选择器 Midscene 根据截图里元素的外观与位置完成定位你不需要写一个选择器也不用给控件加语义化标注。你会在什么时候用到它页面上设置入口只是一个没有文字的小齿轮图标传统方法无从下手截图思路却能直接点中。自然语言视觉断言验证用户真正看到的aiAssert接收自然语言描述的预期结果比如选中的套餐带有蓝色边框和勾选标记Midscene 会像人工测试一样观察屏幕做判断。选中高亮、按钮禁用色、错误提示的排版——这些 DOM 断言够不着的细节正是它的主场。一套 API 跨 Web、移动与桌面同一套 Agent API 覆盖 Web、Android、iOS、HarmonyOS 和桌面端操作方式不变换的只是平台适配层。当你的产品 App 和 Web 双端并行时你不再需要维护两套自动化栈和两套心智模型。Midscene Test从一条指令到一套回归用例用 YAML 写 UI 流程和预期结果用 TypeScript 节点封装 API 调用、数据准备与清理框架再提供脚手架、重试和并发隔离。你会在什么时候用到它夜里要在 CI 上跑回归还希望用例能被工程师和 AI 一起读懂、一起维护的时候。交互式 HTML 报告与 Playground 调试每次运行都会生成一份 HTML 报告逐步回放截图、元素定位和 AI 决策过程写脚本之前你可以在 Playground 里直接试验自然语言指令。用例挂了打开报告看哪一步看走眼往往比翻日志快得多。从零到跑通Midscene 安装配置与首次运行 最快的两条路。想先感受效果从 Chrome 扩展商店安装 Midscene 扩展无需搭建任何项目。想把能力接进代码克隆仓库git clone https://gitcode.com/GitHub_Trending/mid/midscene然后pnpm install即可在本地构建全部包。接下来准备一个具备 UI 定位能力的多模态模型用环境变量完成配置export MIDSCENE_MODEL_BASE_URLhttps://.../api/v3 export MIDSCENE_MODEL_API_KEYyour-api-key export MIDSCENE_MODEL_NAMEmodel-name export MIDSCENE_MODEL_FAMILYdoubao-seed装好后你会发现扩展已经接管了浏览器右侧边栏。打开任意网页在侧边栏输入指令三个最常用动作记下来跑流程aiAct比如点击登录按钮输入用户名和密码取数据aiQuery比如页面中的商品{name: string, price: number}[]查界面aiAssert比如页面顶部显示导航栏在 Playground 里验证过效果的指令原样就能搬进 Playwright 或 Puppeteer 脚本——两者共享同一套核心能力。三种人的三种用法个人开发者发版前想快速验证新流程打开扩展用自然语言把核心路径跑一遍。小工具页面要采集数据用aiQuery抽出结构化结果直接入库。想留下回归资产把验证过的指令写成aiAct调用接进 CI。测试工程师替换脆弱选择器把老用例里的选择器改写成自然语言描述页面改版不再炸用例。检查视觉细节用aiAssert断言选中高亮、浮层位置这类人工测试项。排查失败用例打开 HTML 报告逐步看截图和 AI 决策定位是哪一步跑偏。小团队协作统一用例语言团队约定用 YAML 编写 UI 流程新人不用先啃 API。平台分工两人分别覆盖 Web 和移动端用同一套 API结果汇入同一份报告。让用例可被看见Midscene Test 能生成 Markdown 参考文档大家照着文档共同维护用例。测试套件变大之后 用例变多、跑得变勤之后每一次模型调用都是真金白银。打开缓存机制Midscene 会把 AI 规划出的步骤以指令为键存下来同样的指令、相似的页面再跑时直接命中缓存失效还会自动回退重新规划不需要你手动干预。官方文档给出的示例里执行耗时从 51 秒降到了 28 秒agent: cache: id: checkout-flow strategy: read-only缓存文件落在./midscene_run/cache目录下生产环境建议用只读模式加手动写入保证缓存一致性细节见缓存文档。两个配套技巧复杂任务开deepThink加强拆解减少中途规划失败目标元素小、容易和邻居混淆时开deepLocate定位更准。它和谁配合最顺手️Playwright / Puppeteer两条最成熟的集成路径拿到page对象一行创建 Agent。Midscene Test负责脚手架、重试、并发隔离这类工程层面的事。Chrome 扩展既是入口也是 Playground写脚本前先验证指令避免写完再返工。模型生态Qwen、Doubao、GLM、Gemini、UI-TARS 以及可自托管的开源模型都支持还能按场景组合规划模型与视觉模型。社区 SDKmidscene-ios、Midscene-Python、midscene-java 等项目让同一套能力延伸到更多语言与设备。藏在引擎盖底下的东西最大的架构选择是截图代替 DOM模型只接收图片而不是庞大的 DOM 树token 成本与传输开销同时省下来——AppControlBench 评测 60 个任务模型调用总费用只有 0.59 美元。仓库是 monorepo核心 Agent、平台适配与工具各占独立包packages/ ├── core/ # Agent 核心规划、定位、报告 ├── web-integration/ # Playwright / Puppeteer 集成 ├── android/ ios/ # 移动端平台适配 ├── harmony/ # HarmonyOS 适配 ├── computer/ # 桌面键鼠驱动 └── cli/ # YAML 脚本命令行性能有基准数据背书BenchmarkPass1AndroidWorld93.1%MobileWorld78.6%AppControlBench96.7%社区、路线图与参与入口 Midscene 采用 MIT 许可证商业项目可以放心用仓库内还附了引用格式方便论文和博客里署名。文档提供中文与英文两个版本从快速开始、各平台指南到模型配置、API 参考都覆盖在apps/site/docs目录下仓库根目录的 README 也同时维护中英文。质量方面有完整的保障链路monorepo 由 Biome 做代码检查rstest 与 vitest 覆盖各包测试nx 驱动构建与 CI核心包还带有一批测试固件。想参与贡献先读根目录的 CONTRIBUTING.md——Node 20.19 加pnpm install就能把环境跑起来照着模板提 PR 即可。生态侧仍在扩张iOS Mirror 自动化、Python 与 Java SDK、车机场景的机械臂加视觉方案等社区项目持续接入模型策略也预留了持续纳入新多模态模型的空间。装好扩展写下第一条自然语言指令让测试报告告诉你每一次点击都去了哪里。【免费下载链接】midsceneGUI Agent for E2E Testing项目地址: https://gitcode.com/GitHub_Trending/mid/midscene创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考