Midscene.js 视觉自动化测试:一招告别选择器维护,四步解锁跨平台 UI 自动化
Midscene.js 视觉自动化测试一招告别选择器维护四步解锁跨平台 UI 自动化【免费下载链接】midsceneAI-powered, vision-driven UI automation for every platform.项目地址: https://gitcode.com/GitHub_Trending/mid/midscene前端一重构测试脚本里的 CSS 选择器就集体失效面对原生 App更是连 DOM 都摸不到。Midscene.js 正是为这类困境而生的视觉自动化测试工具——它绕开选择器直接基于屏幕截图让 AI 读懂自然语言指令并操作界面。换句话说你像指挥人类测试员一样说话它负责看见与执行。为什么选择器驱动测试总在重构后崩盘先讲一个几乎人人都踩过的场景产品改版按钮换了样式、层级调整、文案微调你的测试脚本开始大面积标红。原因很直白——传统工具靠 CSS 选择器、XPath 或可访问性树定位元素这些坐标与页面实现细节强耦合页面一变定位即失效。更棘手的是三类摸不到的目标没有语义标记的元素比如 canvas 自绘控件原生应用与跨域 iframe根本没有可注入的 DOM以及界面看起来对不对这类视觉问题DOM 永远答不上来。选择器本质是在猜实现而人类测试员靠的是眼睛。Midscene.js 的思路只有一句话把 AI 训练成测试员的眼睛。视觉驱动与选择器驱动一张对比表看清差异对比维度传统选择器方案Midscene.js 视觉方案定位依据CSS / XPath / 可访问性树屏幕截图 多模态模型重构后表现选择器失效脚本重写界面可见即可继续运行原生 App / iframe基本不可达看得见就能操作结果校验判断 DOM 节点是否存在验证用户真正看到的内容脚本表达一行行坐标命令一句句自然语言一句话概括传统方案问这个节点在不在视觉方案问用户看到了什么、能不能点它。测试的焦点从维护实现细节转移到了描述业务意图这正是它能抗住频繁迭代的底层原因。零基础第一条路Chrome 扩展三步试跑自然语言指令想先感受效果、不写一行代码走扩展这条路全程三分钟从 Chrome Web Store 安装 Midscene 扩展打开侧边栏面板它可能折叠在浏览器扩展图标下点设置齿轮粘贴模型配置OpenAI、豆包、GLM、Gemini 等主流多模态模型均可用在任意网页输入一句指令比如点击搜索框输入 Midscene.js 并回车看它自动执行。扩展会实时展示 AI 的定位、操作与断言全过程像 API Playground 一样即时反馈、随时调试。在扩展里验证过的指令写成脚本后行为完全一致因为两者共用同一套核心。完整教程见 apps/site/docs/en/quick-experience.mdx。可复用第二条路四步跑通一条自动化脚本需要可重复执行的自动化就走 JavaScript SDK 路线四步收工装依赖、配模型环境变量、写脚本、运行看报告。核心代码只有几行import { chromium } from playwright; import { PlaywrightAgent } from midscene/web/playwright; const page await chromium.launch().then(b b.newPage()); await page.goto(https://www.ebay.com); const agent new PlaywrightAgent(page); await agent.aiAct(type Headphones in the search box, then hit Enter); const items await agent.aiQuery({ title: string, price: number }[], the headphone products in the list); await agent.aiAssert(There is a category filter on the left side);aiAct负责操作、aiQuery提取结构化数据、aiAssert做断言三个方法就覆盖了绝大多数测试场景。官方从零起步示例在 apps/site/docs/en/quick-start.mdx。按平台拆解Web、移动端、桌面各自怎么用Web 端既支持 Playwright、Puppeteer 驱动也能通过桥接模式直接控制本地 Chrome——适合无缝接入现有测试框架一条连接命令即可接管当前标签页。Android 与 iOS通过 ADB 或 WebDriverAgent 连接真机和模拟器无需 root、无需越狱任何应用都能直接操作。比如打开设置查看当前系统版本号这类操作一句指令完成还能断言结果。桌面应用Windows、macOS、Linux 三端覆盖原生程序与 Electron 应用均可操控HarmonyOS 设备同样在支持列表内。一张表看懂项目架构与模块源码位置能力模块路径说明视觉 AI 核心引擎packages/core/Agent、报告生成、YAML 执行等基础能力Web 集成packages/web-integration/Playwright / Puppeteer / 桥接模式Android 支持packages/android/ADB、scrcpy 设备控制iOS 支持packages/ios/WebDriverAgent、模拟器支持桌面自动化packages/computer/三平台桌面控制可视化客户端apps/studio/桌面端图形化操作台想深挖某个平台的实现直接钻进对应目录即可模块边界清晰按图索骥很轻松。上线前的避坑清单配置、超时与报告解读几个真实项目里容易踩的坑提前记下能省不少事模型先行所有能力都依赖多模态模型先在简单页面上验证 API Key 与网络连通性再铺开用例超时留余量视觉识别天然比 DOM 定位慢aiWaitFor的等待时间按业务复杂度放宽别按直觉设短值报告当体检报告读每次运行都会生成可视化回放报告元素高亮、步骤耗时、失败原因一目了然调试时先看报告再改脚本。高频问题速答模型、成本、迁移一次说清Q已有选择器测试需要全部推倒重写吗A不必。Midscene 可以与传统断言并存先拿它覆盖易变、难定位的模块验证效果后再逐步迁移。QAI 调用成本会不会很高A可控。项目支持结果缓存并兼容豆包、GLM、GPT、Gemini 等多款模型重复截图可以交给更便宜的模型处理成本按需调配。Q只做 Web 测试引入它值不值A值。单是重构不再破坏测试这一条长期维护成本就省回来了何况后续要测移动端或桌面时能力已经就位。现在就开始给测试项目装上一双 AI 眼睛过去一年自动化测试的主线悄悄从写脚本找元素切换到了说人话驱动界面。Midscene.js 的价值不在于取代传统框架而在于把测试从实现细节中彻底解放出来——你只负责描述意图AI 负责看见与执行。✨ 自然语言即脚本选择器零维护 ✨ 截图级视觉校验验证真实所见 ✨ Web / Android / iOS / 桌面全覆盖 ✨ 可视化回放报告失败一眼定位装个扩展试两分钟或跑通一个四步的脚本比任何长篇介绍都更有说服力。选一条路现在就开始。【免费下载链接】midsceneAI-powered, vision-driven UI automation for every platform.项目地址: https://gitcode.com/GitHub_Trending/mid/midscene创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Webcam实时交互:ml-projects中摄像头图像重建技术的原理与应用

Webcam实时交互:ml-projects中摄像头图像重建技术的原理与应用

Webcam实时交互:ml-projects中摄像头图像重建技术的原理与应用 【免费下载链接】ml-projects Implementation of web friendly ML models using TensorFlow.js. pix2pix, face segmentation, fast style transfer and many more ... 项目地址: https://gitcode.co…

2026/8/17 1:08:30 阅读更多 →
BlinkDB核心技术揭秘:近似查询算法如何突破性能瓶颈

BlinkDB核心技术揭秘:近似查询算法如何突破性能瓶颈

BlinkDB核心技术揭秘:近似查询算法如何突破性能瓶颈 【免费下载链接】blinkdb BlinkDB: Sub-Second Approximate Queries on Very Large Data. 项目地址: https://gitcode.com/gh_mirrors/bl/blinkdb 在处理海量数据时,传统数据库往往面临查询速度…

2026/8/16 22:28:57 阅读更多 →
Uhaha安全配置指南:TLS加密与Auth认证完整实现

Uhaha安全配置指南:TLS加密与Auth认证完整实现

Uhaha安全配置指南:TLS加密与Auth认证完整实现 【免费下载链接】uhaha High Availability Raft Framework for Go 项目地址: https://gitcode.com/gh_mirrors/uh/uhaha Uhaha是一个用于构建高可用Raft数据应用的框架,提供了强大的TLS加密和Auth认…

2026/8/16 20:14:34 阅读更多 →

最新新闻

PotPlayer字幕翻译插件免费使用指南:3步开启实时双语字幕

PotPlayer字幕翻译插件免费使用指南:3步开启实时双语字幕

PotPlayer字幕翻译插件免费使用指南:3步开启实时双语字幕 【免费下载链接】PotPlayer_Subtitle_Translate_Baidu PotPlayer 字幕在线翻译插件 - 百度平台 项目地址: https://gitcode.com/gh_mirrors/po/PotPlayer_Subtitle_Translate_Baidu PotPlayer字幕翻译…

2026/8/17 1:53:47 阅读更多 →
基于SpringBoot的瑜伽馆网站的设计与实现(源码+lw+部署文档+讲解等)

基于SpringBoot的瑜伽馆网站的设计与实现(源码+lw+部署文档+讲解等)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/17 1:53:47 阅读更多 →
猫抓cat-catch资源嗅探扩展完整指南:从安装到抓取视频音频一步到位

猫抓cat-catch资源嗅探扩展完整指南:从安装到抓取视频音频一步到位

猫抓cat-catch资源嗅探扩展完整指南:从安装到抓取视频音频一步到位 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 刷到一段想永久保存…

2026/8/17 1:53:47 阅读更多 →
华为MetaERP 国资委 2026 年 1 号文(财务数智化)与 2 号文(穿透式监管)是 “十五五” 开局国资治理的核心政策组合,二者形成“技术赋能 + 规则约束” 的完整闭环,对央企的影响是全方

华为MetaERP 国资委 2026 年 1 号文(财务数智化)与 2 号文(穿透式监管)是 “十五五” 开局国资治理的核心政策组合,二者形成“技术赋能 + 规则约束” 的完整闭环,对央企的影响是全方

国资委 2026 年 1 号文(财务数智化)与 2 号文(穿透式监管)是 “十五五” 开局国资治理的核心政策组合,二者形成“技术赋能 规则约束” 的完整闭环,对央企的影响是全方位、深层次、长期性的 —— 并非单一领…

2026/8/17 1:53:47 阅读更多 →
高通9008模式深度解析:从原理到实战救砖,以联想拯救者Y70为例

高通9008模式深度解析:从原理到实战救砖,以联想拯救者Y70为例

1. 项目概述:当你的“拯救者”陷入沉睡作为一名常年混迹于数码维修圈的老手,我经手过无数台“变砖”的手机。所谓“变砖”,就是指设备因系统底层损坏、刷机失败或误操作导致无法正常开机进入系统,甚至无法进入Recovery模式&#x…

2026/8/17 1:53:47 阅读更多 →
Android任务管理核心:TaskAffinity机制深度解析与实战应用

Android任务管理核心:TaskAffinity机制深度解析与实战应用

1. 项目概述:为什么我们需要关注TaskAffinity 在Android开发中,Activity的管理与跳转逻辑是构建流畅用户体验的基石。然而,当应用架构变得复杂,尤其是涉及多模块、多进程或深度链接场景时,我们常常会遇到一些不那么直观…

2026/8/17 1:52:47 阅读更多 →

日新闻

LabVIEW异步调用实战:从原理到生产者消费者模式,解决界面卡顿与并行处理难题

LabVIEW异步调用实战:从原理到生产者消费者模式,解决界面卡顿与并行处理难题

1. 项目概述:为什么异步调用是LabVIEW进阶的必修课? 如果你用LabVIEW做过稍微复杂点的项目,尤其是涉及界面响应、多任务并行或者硬件IO等待的场景,大概率遇到过这样的窘境:前面板点个按钮,整个程序就“卡死…

2026/8/17 0:00:08 阅读更多 →
LabVIEW异步调用实战:解决界面卡顿与并行处理难题

LabVIEW异步调用实战:解决界面卡顿与并行处理难题

1. 项目概述:为什么异步调用是LabVIEW进阶的必经之路如果你在LabVIEW里写过稍微复杂点的程序,尤其是涉及到界面响应、多任务并行或者硬件IO等待,大概率会遇到一个头疼的问题:程序“卡”住了。前面板点不动,进度条不更新…

2026/8/17 0:00:08 阅读更多 →
飞书局域网文件传输实战:3种方案实现高速点对点传输

飞书局域网文件传输实战:3种方案实现高速点对点传输

1. 项目概述:为什么要在局域网内用飞书传文件? 飞书作为一款主流的协同办公套件,其核心功能是围绕云端协作设计的。无论是文档、表格还是文件,通常的分享逻辑都是“上传到云端 -> 生成链接 -> 分享给同事”。这个流程在互联…

2026/8/17 0:00:08 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →