脚本写 1 天修 3 天?这个开源引擎让你录完即用、坏了自修
Playwright + 本地 AI,从录制到自愈闭环的一站式自动化测试平台。
做过 UI 自动化测试的人都有这种痛:
花一天写脚本,上线后页面改了个 class 名,脚本全挂。再花三天修脚本。
今天推荐的开源项目就是冲着这个痛点来的:Auto_Testing — WebUI 自动化测试引擎 v3.0。
先看核心链路
① 认证管理 → ② 录制脚本 → ③ 执行测试 → ④ 失败诊断 → ⑤ AI自愈修复 → ⑥ 报告输出 → ⑦ 构建部署从登录态管理到测试执行再到失败自愈,完整闭环。三步就能跑起来:
npmrun capture-auth# 第一步:捕获登录态npmrun record# 第二步:录制测试脚本npmstart# 第三步:交互式执行测试一、认证管理:一次登录,永久复用
Playwright 的storageStateAPI,浏览器手动登录一次(支持扫码/MFA/验证码),保存 Cookie + localStorage 到auth.json。后续所有测试自动加载。
智能降级:登录态过期了怎么办?
auth.json不存在 → 自动读环境变量账号密码填写- 已过期 → 自动 reload 恢复会话(最多3次)
- 空壳文件 → 给出明确警告
不需要每次跑测试都手动登一遍。
二、录制引擎:两种模式,总有一种适合你
模式 A:浏览器录制(操作即代码)
打开浏览器,正常操作。点击、输入、跳转实时录制为 Playwright 脚本。
企业级增强:
- Ant Design 全组件兼容(Menu/Dropdown/Cascader/DatePicker/Table 等)
- iframe 穿透录制
- 跨页面持久化录制(新页签无缝衔接)
- 语义化定位器自动
.first()降级,解决 SPA 文本重复问题 - 录制脚本幂等备份
模式 B:AI 生成(描述即脚本)
输入需求描述,AI 自动抓取页面 ARIA 快照,生成带语义化定位器的完整脚本。
支持三种导入格式:
| 格式 | 说明 |
|---|---|
| Markdown | 标准用例结构,AI 兜底解析 |
| Excel | 标准格式 / 零代码操作格式 |
| XMind | 思维导图,星标节点 = 测试用例 |
批量生成时,相同 URL 只抓取一次页面快照,多用例并行生成。
验证码也能处理:内置CaptchaRecognizer,Ollama Vision + Tesseract.js 双引擎智能降级。
三、测试执行器:不只是跑脚本
npm start启动交互式执行引擎:
- 智能文件选择:自动扫描
tests/目录,勾选要执行的测试 - 登录态检测:启动时检查 auth.json 有效性
- AI 按需启用:Ollama 可用则开启自动驾驶,不可用则优雅降级
- 三浏览器引擎:Chromium / Firefox / WebKit 可选
- 三层报告体系:Playwright 原生 + 自定义步骤级 + 多次回放对比
失败后的元素排查工具——这才是精华
测试失败了不是丢给你一堆 log,而是开启交互式排查菜单:
失败定位器: getByTitle('运维人员管理asd') ═══════════════════════════════════════════ 1. 回放到元素位置验证 2. 交互式选取新定位器(完整修复流水线) 3. 查看元素库(智能匹配修复建议) 4. 退出排查,查看报告选择「选项 2」后进入六步闭环修复:
备份脚本 → 自动导航到失败位置 → 交互式选取 → 自动替换定位器 → 重新验证 → 记录到元素库四、AI 自愈:本地模型,数据不出网
三款 Ollama 模型分工协作:
| 模型 | 用途 |
|---|---|
qwen2.5-coder:32b | 脚本生成 + 修复 |
deepseek-r1:14b | 失败诊断(根因分析) |
llama3.2-vision | 验证码识别 |
AI 诊断流程:
- 测试失败 → 提取错误信息
- 读取 ARIA 快照 + 源码片段
- AI 分析根因(元素变更/页面重构/网络超时/登录态失效)
- 输出修复建议(根因 + 置信度 + 代码变更)
- 确认后自动生成修复代码 → 备份 → 写入 → 验证(最多3轮)
全部本地执行。不需要 OpenAI API Key,你的测试数据不会离开你的机器。
五、定位器工具集
- 交互式选取:
pickLocator()+normalize(),自动输出最优定位器 - 批量扫描优化:扫描所有 spec 文件,找出低质量定位器,输出健康度评分
- PO 类骨架生成:选取元素 → 自动生成 Page Object 类代码
六、报告体系
三层报告,覆盖不同需求:
- Playwright 原生报告:Trace Viewer + 视频回放
- 自定义步骤级报告:每个 click/fill/goto 的状态、耗时、截图
- 多次回放对比报告:自动识别「始终通过/间歇失败/始终失败」,颜色编码矩阵
每次运行自动采集:Trace(DOM快照+网络请求) + 视频 + 错误截图。排查问题时不用复现,直接回放。
七、AI Agents 体系
三个 Agent 各司其职:
- Test Generator:自然语言 → 测试脚本,支持零 Token 直接生成(已知定位器不经 AI)
- Test Healer:截图 → ARIA 结构 → 控制台日志 → LLM 诊断 → 修复方案
- Test Planner:页面 DOM 结构 → 测试计划 Markdown
技术栈
- Playwright 1.60:微软出品的浏览器自动化框架
- Ollama:本地大模型运行环境(可选)
- Node.js 18+
为什么推荐它?
市面上自动化测试工具很多,但 Auto_Testing 解决了几个关键问题:
- 录制到执行零摩擦:录完就能跑,不用手动改脚本
- 失败自动修复:页面改版后 AI 自动更新定位器,不用手动改
- 本地 AI,数据安全:不依赖云端 API,政府/金融等敏感场景也能用
- 完整的报告追溯:Trace + 视频 + 截图,一次运行全量采集
- 开源免费:ISC 协议,随便用
适合场景:
- 🧪 日常回归测试
- 🏢 企业内部系统的 UI 自动化
- 🔐 对数据安全要求高的测试场景
- 📊 需要完整测试报告和追溯的团队
快速开始
gitclone https://github.com/DingoNan/Auto_Testing.gitcdAuto_Testingnpminstallnpmrun capture-auth# 捕获登录态npmrun record# 录制第一个脚本npmstart# 交互式执行GitHub 仓库 · ISC 开源协议
如果对你有用,点个 ⭐ Star,或者提交 PR 一起改进。
关注我,获取更多测试开发工具推荐和实战干货。