新闻详情

新闻详情

首页 / 资讯中心 / 详情

Midscene.js:用自然语言驱动屏幕,五分钟跑通第一个 UI 测试

发布时间:2026/9/12 2:01:43来源:尧图网络
Midscene.js:用自然语言驱动屏幕,五分钟跑通第一个 UI 测试
Midscene.js用自然语言驱动屏幕五分钟跑通第一个 UI 测试【免费下载链接】midsceneGUI Agent for E2E Testing项目地址: https://gitcode.com/GitHub_Trending/mid/midsceneMidscene.js 是一个开源的 GUI 自动化测试工具用视觉语言模型驱动界面操作。你用自然语言写下测试步骤它通过截图看懂界面完成点击、输入和断言支持 Web、Android、iOS、HarmonyOS 和桌面端。从一个真实任务说起假设你在维护一套电商页面的回归测试。每天要重复打开登录页输入账号密码进后台检查三个商品的价格。传统做法要写一堆 CSS 选择器。页面改版一次选择器全废。canvas 里画出来的元素、没有 class 名的图标按钮传统工具基本碰不了。Midscene.js 的思路不同。它不读 DOM而是截图让视觉模型来判断登录按钮在哪价格显示的是多少。你的脚本里只写输入 standard_user点击登录这样的句子。界面布局变了只要视觉上还能认出元素脚本继续跑。 五分钟跑通第一次先装 CLI这是执行 YAML 脚本的命令行工具npm i -g midscene/cli装完终端里就有midscene命令了。注意 Node.js 版本要求 20.19、22.12 或 24版本过低会报 Rspack 的报错。然后配置模型。CLI 从.env文件读四个变量MIDSCENE_MODEL_BASE_URLhttps://你的模型服务地址/v1 MIDSCENE_MODEL_API_KEY你的 API Key MIDSCENE_MODEL_NAME你的模型名称 MIDSCENE_MODEL_FAMILY模型系列如 doubao-seed.env必须放在运行命令的目录下与 YAML 脚本所在目录无关。写第一个脚本bing-search.yamlpage: url: https://www.bing.com tasks: - name: 搜索天气 flow: - ai: 搜索 今日天气 - sleep: 3000 - aiAssert: 结果显示天气信息ai表示让 Agent 自主规划并执行这句话描述的动作aiAssert让 AI 检查界面是否符合描述。执行midscene ./bing-search.yaml命令行会实时打印执行进度结束后生成一份交互式 HTML 报告里面有每一步的截图、AI 决策和断言结果。不想写代码先体验的话可以装它的 Chrome 扩展。打开任意网页侧边栏直接输入点击登录按钮这类指令效果验证后再搬进测试脚本。它到底是怎么做到的可以把它理解成一个盯着屏幕干活的新同事。它干活前不翻代码、不看 DOM只拍一张屏幕照片。把截图交给多模态视觉模型模型返回登录按钮在坐标 (x, y)这样的信息。它再模拟鼠标点下去、敲键盘然后重新截图确认结果进入下一步。断言也是这个路子拍屏问模型页面上有没有操作成功的提示模型回答是或否。所以它天然适合三类传统工具搞不定的对象canvas 画布里的内容、跨域 iframe 里的元素、没有语义标签的原生 App 界面。代价是每一步都要走一次模型推理比直接操作 DOM 慢这是视觉方案的固有成本。一个完整例子仓库自带一个很完整的真实脚本对登录后的商品列表做数据提取加价格断言。它打开 saucedemo 商城登录把商品抽成 JSON 存盘最后校验某件商品价格web: url: https://www.saucedemo.com/ output: ./midscene_output/sauce-demo-items.json tasks: - name: login flow: - aiAct: type standard_user in user name input, type secret_sauce in password, click Login - aiWaitFor: there are products displayed on the page - name: extract items info flow: - aiQuery: {name: string, price: number}[] name: items - aiAssert: The price of Sauce Labs Fleece Jacket is 49.99脚本里用到了四个核心 API各管一件事aiAct自主规划并执行一串交互aiWaitFor等到界面出现指定状态才继续aiQuery把界面内容按指定结构抽成数据存进output指定的 JSON 文件aiAssert断言界面状态不满足则任务失败用midscene online.yaml跑完后你会得到两份产物一份商品数据 JSON一份带截图时间线的 HTML 报告。原始脚本可以翻 packages/cli/tests/midscene_scripts/online/online.yaml。几个值得知道的细节模型成本可控。README 里有一组公开数据用 Doubao Seed 2.1 Turbo 跑 AppControlBench 的 60 个任务模型总花费 0.59 美元。因为每次只发截图不用把整棵 DOM 树塞给模型账单会比预期好看。.env不覆盖全局变量。如果你已经在 shell 里 export 了MIDSCENE_MODEL_API_KEY.env里的同名值不会顶掉它。想强制覆盖要加--dotenv-override参数。可以开缓存。脚本里写agent: { cache: true }相同页面的重复调用可以复用之前的结果既省时又省钱适合回归测试这种反复跑同一场景的场景。老版 YAML 运行器已有下一代方案。文档里说明Midscene TestBeta是老版 YAML 方案的官方替代支持重试、多环境并发隔离和更完整的测试生命周期。新项目建议直接看新方案。报告就是调试工具。每次运行生成的 HTML 报告里能看到每一步 AI 的决策过程和截图。测试失败时先看报告里 AI 当时看到了什么比翻日志快得多。Web 之外也一样把脚本开头的web换成android、ios或desktop配上对应设备Android 走 adbiOS 走 WebDriverAgent同一套自然语言任务就能在手机和桌面上跑。去哪继续学中文文档入口apps/site/docs/zh/快速开始含 Chrome 扩展和其他平台的 Playgroundapps/site/docs/zh/quick-start.mdxYAML 脚本与 CLI 完整用法apps/site/docs/zh/yaml-script-runner.mdx模型支持与配置apps/site/docs/zh/model-common-config.mdx仓库内置的真实测试脚本可直接改着玩packages/cli/tests/midscene_scripts/项目说明中文README.zh.md一句话总结Midscene.js 把 UI 测试的选择器维护换成了自然语言描述。它靠截图加视觉模型理解界面Web、移动端、桌面端共用一套 API。装个 CLI配好模型写几行 YAML五分钟就能看到第一份带截图的测试报告。【免费下载链接】midsceneGUI Agent for E2E Testing项目地址: https://gitcode.com/GitHub_Trending/mid/midscene创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

终极指南:5分钟快速上手Dango-Translator生肉翻译软件 [特殊字符] 2026/9/12 2:34:48

终极指南:5分钟快速上手Dango-Translator生肉翻译软件 [特殊字符]

终极指南:5分钟快速上手Dango-Translator生肉翻译软件 🚀 想要轻松翻译游戏、漫画、视频中的外文内容吗?Dango-Translator(团子翻译器)是一款基于OCR技术的专业生肉翻译软件,能够实时识别屏幕文字并进行翻…

阅读更多 →
Spark交通大数据实时分析实战:轨迹清洗、OD矩阵与特征工程 2026/9/12 2:34:48

Spark交通大数据实时分析实战:轨迹清洗、OD矩阵与特征工程

简介:本资源是一套基于Apache Spark构建的交通数据分析系统完整实现,面向计算机、电子信息工程及数学等专业的本科生与研究生,适用于课程设计、期末大作业及毕业设计等实践场景,聚焦交通流统计、实时车速监测、异常事件预警等典型…

阅读更多 →
Remix 3 表单数据怎么用 data-schema 校验并返回 400 响应 2026/9/12 2:34:48

Remix 3 表单数据怎么用 data-schema 校验并返回 400 响应

Remix 3 表单数据怎么用 data-schema 校验并返回 400 响应 【免费下载链接】remix The fully-stacked web framework 项目地址: https://gitcode.com/GitHub_Trending/re/remix Remix 里一个常见的服务端表单处理需求:浏览器把未经信任的字段 POST 到 action…

阅读更多 →
如何三步验证系统化交易策略:awesome-systematic-trading 完整指南 2026/9/12 2:34:48

如何三步验证系统化交易策略:awesome-systematic-trading 完整指南

如何三步验证系统化交易策略:awesome-systematic-trading 完整指南 【免费下载链接】awesome-systematic-trading A curated list of awesome libraries, packages, strategies, books, blogs, tutorials for systematic trading. 项目地址: https://gitcode.com/…

阅读更多 →
如何在华为 HarmonyOS 上跑通 GMS 应用:MicroG 签名伪造与位置权限配置完整指南 2026/9/12 2:34:47

如何在华为 HarmonyOS 上跑通 GMS 应用:MicroG 签名伪造与位置权限配置完整指南

如何在华为 HarmonyOS 上跑通 GMS 应用:MicroG 签名伪造与位置权限配置完整指南 【免费下载链接】GmsCore Free implementation of Play Services 项目地址: https://gitcode.com/GitHub_Trending/gm/GmsCore 这篇文章是一份 MicroG 华为配置教程&#xff0c…

阅读更多 →
SpringBoot+Vue3+MyBatis构建美食推荐系统实践 2026/9/12 2:31:47

SpringBoot+Vue3+MyBatis构建美食推荐系统实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞