
Midscene.js 完整指南视觉驱动的跨平台 UI 自动化测试快速上手【免费下载链接】midsceneGUI Agent for E2E Testing项目地址: https://gitcode.com/GitHub_Trending/mid/midsceneMidscene.js 是一个 AI 驱动的 UI 自动化测试框架。它不依赖 DOM 选择器而是直接看屏幕截图用一句自然语言指令完成操作和断言同一套脚本能跑在 Web、Android、iOS 和桌面上适合想降低测试维护成本、做多端自动化的团队。换个方式理解界面自动化传统脚本的定位逻辑是按结构找人写下按钮的 id、class 或 XPath。这套逻辑有个硬伤——前端一重构选择器成批失效几百条用例要挨个修。可以把它类比成靠门牌号导航住户一换房所有路条作废。Midscene 换了一条路它只信屏幕上看到的东西。每执行一步先截一张图交给多模态模型再由你用自然语言说清要做什么。它像一个刚入职的同事——你指着界面说点右上角的蓝色提交按钮就行不需要知道那个按钮套了几层 div。这样做带来的直接收益图标按钮、canvas 画布、跨域 iframe、原生 App 界面只要人眼能看到它就点得到。断言也不只是某个节点存在还能校验颜色、高亮、布局这类看起来对不对的视觉效果。它都能测什么只要平台能出截图Midscene.js 就能接管四类常见场景一句话讲清平台适配方式Web挂在 Playwright / Puppeteer 之上跨域 iframe 也能操作Android通过 scrcpy 与 ADB 控制真机或模拟器画面和操作都走设备iOS基于 WebDriverAgent 驱动模拟器与真机桌面Windows / macOS / Linux 的跨平台应用自动化内部代码按核心引擎 → 平台适配 → 可视化界面分层Web 端实现集中在 packages/web-integration/模型调用等核心逻辑在 packages/core/想深挖某条链路时直接进对应目录即可。五分钟跑通第一个测试第 1 步准备环境。拉取代码并装好依赖然后配置一个多模态模型的 API Keygit clone https://gitcode.com/GitHub_Trending/mid/midscene cd midscene pnpm install把模型服务的 Key 写进环境变量如 OPENAI_API_KEY或对应厂商的 Key 变量。第 2 步写一个最短的 YAML 用例。下面这个例子跑通登录这一件事web: url: https://www.saucedemo.com/ tasks: - name: 登录 flow: - aiAct: 输入账号 standard_user 和密码点击登录按钮 - aiWaitFor: 页面出现商品列表记住四个核心动词就够了aiAct 执行操作aiWaitFor 等待条件aiQuery 提取数据aiAssert 做断言。带数据提取的完整写法可以参考 仓库里的现成样例。第 3 步执行并看报告。一条命令跑脚本一条命令打开 HTML 报告midscene run ./test.yaml midscene report ./midscene_run报告里每一步的截图、AI 的推理和结果都会留档失败时一眼能定位到是哪一步、哪个元素出了问题。跑得更快、更稳的进阶技巧 ️模型怎么选。日常跑量选响应快的轻量模型即可元素定位要求高时上 UI-TARS专为 UI 理解优化复杂页面、关键断言可以用 GLM-4.6V 或 Gemini 这类高精度模型复核。原则是按步骤的重要性分档用模型别全程用贵的。缓存与并行。重复执行的相同操作可以开启缓存让 AI 调用次数降下来大批量用例则写一个索引 YAML用concurrent: 2控制并发数把串行总时长压到并行水平。三个高频问题的排查思路元素找不到描述再具体一点说蓝色圆形设置图标而不是图标界面复杂时打开深度思考选项并把 timeout 适当调大。执行卡住或超时把大动作拆成多个小步骤单独拉长 aiWaitFor 的超时先确认到模型服务的网络是通的再怀疑用例本身。跨平台表现不一致给不同平台写各自的配置块web、android、ios 互不干扰依赖平台特性的步骤单独成条别指望一份细节全平台通用。写在最后多模态模型的视觉理解能力还在逐季度变强UI 识别准确率的水位线只会往上走测试用例的形态也正从人写人维护慢慢变成人写、自维护。别等框架更成熟了再动手——现在就可以拿登录页做一条最小用例五分钟跑通你就知道视觉化测试的维护成本到底低在哪了。【免费下载链接】midsceneGUI Agent for E2E Testing项目地址: https://gitcode.com/GitHub_Trending/mid/midscene创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考