AI 自动化测试方案分享
用 Claude Code 跑自动化测试时遇到过这种情况吗?生成了一堆测试用例,跑完发现 Token 烧了不少,结果一半是废的------要么断言写错,要么压根定位不到元素。
所以我花了点时间把市面上的 AI 测试方案摸了一遍。就两条路,DOM 解析或者视觉识别,先选一个深耕就行。
DOM
原理没什么花活。DOM 就是浏览器把 HTML 页面变成一棵可以被 JavaScript 随意增删改查的树状对象结构。简单说,你写的 HTML 被浏览器变成了一堆"会动的积木",这些积木可以用 JavaScript 随便抓、改、删、加。
AI 通过选择器找到这些积木,Playwright 负责点点点。就这样。
推荐工具:agent-browser
这是 Vercel 出的一个专门用于 AI Agent 的浏览器自动化 CLI,支持无头模式,可以不打开浏览器进行测试。
bash
# 安装 CLI
npm install -g agent-browser
# 安装驱动
agent-browser install
# 验证安装
agent-browser open baidu.com
# 返回以下内容表示成功
# ✓ 百度一下,你就知道
# https://www.baidu.com/
这条路的好处很直接------Token 消耗低,跑得快,CI/CD 接进去顺滑。
但有个前提:你的 DOM 结构得稳定。
纯视觉
这个思路更直观:将页面截图发送给视觉大模型识别,模型返回下一步操作指令,循环执行直到完成全部任务。
推荐工具:Midscene
这是字节开源的纯视觉测试方案,支持 Web、Android、iOS,兼容多种视觉模型:Gemini、Qwen-VL、Doubao-VL。自然语言写测试目标,AI 自己生成脚本。
但 Token 消耗高。跑一轮测试下来成本不低。而且视觉模型偶尔会出问题。
所以视觉方案更像是补充:DOM 搞不定的场景,比如验证 UI 有没有错位、样式有没有问题,再让视觉上。
ChatGPT AgentMode
这是 ChatGPT 的 AgentMode 功能需要订阅企业版或者 Pro 版本 (team 也可以) 它会启动一个虚拟浏览器访问你要求的网址像真人一样在你的平台浏览、点击按钮、账号登录 ,要求最后给我详细的测试报告,如果你的网站已经部署到公网上那么就可以使用 Agent Mode 进行测试。
缺点是最少需要购买 Team 或者 Pro。
怎么选?
| 场景 | 建议 |
|---|---|
| 页面结构稳定,预算有限 | DOM + Playwright |
| 页面动效多、结构不稳定 | 视觉方案 |
| 想检测布局错位、样式问题 | 必须视觉,DOM 看不出来 |
| 成本敏感 | DOM 为主 |
几个坑提前说
成本控制:先让 AI 生成用例,人审完再跑。不然跑完发现一半用例有问题,Token 白烧了。
CI/CD 集成:配置的时候注意超时设置。视觉方案跑得慢,默认超时可能不够。
自愈能力:市面上很多工具都说支持"自愈",意思是 UI 改了之后测试脚本能自动调整选择器。实际效果看情况,改个按钮文案能自愈,重构了页面结构还是得手动改。
核心就一句:DOM 打底,视觉补充,别一开始就 all in 最贵的方案。
有实践经验的欢迎评论区交流。
相关链接:
- • Midscene:https://midscenejs.com
- • agent-browser:https://github.com/vercel-labs/agent-browser
- • Playwright:https://playwright.dev
- • test-cases Skill:https://github.com/cexll/myclaude/blob/master/skills/test-cases/SKILL.md