Playwright + 本地 AI,从录制到自愈闭环的一站式自动化测试平台。

脚本写 1 天修 3 天?这个开源引擎让你录完即用、坏了自修

Playwright + 本地 AI,从录制到自愈闭环的一站式自动化测试平台。


做过 UI 自动化测试的人都有这种痛:

花一天写脚本,上线后页面改了个 class 名,脚本全挂。再花三天修脚本。

今天推荐的开源项目就是冲着这个痛点来的:Auto_Testing --- WebUI 自动化测试引擎 v3.0


先看核心链路

复制代码
① 认证管理 → ② 录制脚本 → ③ 执行测试 → ④ 失败诊断 → ⑤ AI自愈修复 → ⑥ 报告输出 → ⑦ 构建部署

从登录态管理到测试执行再到失败自愈,完整闭环。三步就能跑起来:

bash 复制代码
npm run capture-auth   # 第一步:捕获登录态
npm run record         # 第二步:录制测试脚本
npm start              # 第三步:交互式执行测试

一、认证管理:一次登录,永久复用

Playwright 的 storageState API,浏览器手动登录一次(支持扫码/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 诊断流程

  1. 测试失败 → 提取错误信息
  2. 读取 ARIA 快照 + 源码片段
  3. AI 分析根因(元素变更/页面重构/网络超时/登录态失效)
  4. 输出修复建议(根因 + 置信度 + 代码变更)
  5. 确认后自动生成修复代码 → 备份 → 写入 → 验证(最多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 解决了几个关键问题:

  1. 录制到执行零摩擦:录完就能跑,不用手动改脚本
  2. 失败自动修复:页面改版后 AI 自动更新定位器,不用手动改
  3. 本地 AI,数据安全:不依赖云端 API,政府/金融等敏感场景也能用
  4. 完整的报告追溯:Trace + 视频 + 截图,一次运行全量采集
  5. 开源免费:ISC 协议,随便用

适合场景:

  • 🧪 日常回归测试
  • 🏢 企业内部系统的 UI 自动化
  • 🔐 对数据安全要求高的测试场景
  • 📊 需要完整测试报告和追溯的团队

快速开始

bash 复制代码
git clone https://github.com/DingoNan/Auto_Testing.git
cd Auto_Testing
npm install
npm run capture-auth    # 捕获登录态
npm run record          # 录制第一个脚本
npm start               # 交互式执行

GitHub 仓库 · ISC 开源协议

如果对你有用,点个 ⭐ Star,或者提交 PR 一起改进。


关注我,获取更多测试开发工具推荐和实战干货。

相关推荐
行走的小派1 小时前
香橙派三款昇腾产品实操案例合集:DeepSeek部署、YOLOv8检测、智能助手平台
人工智能
牛哥带你学代码1 小时前
VLA 与机器人基础模型:具身智能的下一代操作系统
人工智能·机器人
Cutecat_1 小时前
YouTube 多语种自动配音功能实测:AI 如何让一条视频“开口说”多种语言
人工智能·科技·音视频
Maynor9961 小时前
AI Coding 零基础实战教程|第五部分:完整项目案例实操
java·前端·人工智能·claude code·ai coding
三品吉他手会点灯2 小时前
嵌入式机器学习 - 学习笔记1.0.2 - 学习路线导览:从机器学习基础到 TinyML应用
人工智能·笔记·嵌入式硬件·学习·机器学习
lunzi_08262 小时前
【AI 杂谈】AI 的边界正在被谁定义?
人工智能
静Yu2 小时前
给 AI 装上「身体」:我用魔珐星云做数字人的实践与接入教程
人工智能
OpenMiniServer2 小时前
终极演化动力学:绝对悖论与信息重构
人工智能·重构
阿乔外贸日记2 小时前
意大利进口主力产品及主要合作供应国
大数据·人工智能·物联网·搜索引擎·云计算