Playwright 又出新东西了:三个 Agent 帮你全自动写测试
Playwright 又出新东西了:三个 Agent 帮你全自动写测试上两篇分别讲了 Playwright
Playwright 又出新东西了:三个 Agent 帮你全自动写测试上两篇分别讲了 Playwright
上两篇分别讲了 Playwright MCP 和 Playwright CLI,有朋友看完之后问:
“我现在用 MCP 让 Copilot 帮我生成测试,但还是要我一步一步指挥,能不能更自动一点,告诉它一个目标,它自己搞定?”
这个问题问得很到位。正好 Playwright 官方最近推出了一个新东西:Test Agents。
这次不是工具,是三个专门干测试这件事的 AI Agent。你告诉它测什么,它自己探索、自己写代码、跑失败了还能自己修——整个链路可以不用人盯着。
— — —
先说清楚它是什么
Playwright Test Agents 包含三个 Agent,名字都很直接:
- 🎭 Planner(规划者):探索你的应用,产出一份 Markdown 格式的测试计划
- 🎭 Generator(生成者):把测试计划转成可执行的 Playwright 测试代码
- 🎭 Healer(修复者):跑失败的测试,自动找原因,自动打补丁修好
三个 Agent 可以单独用,也可以按顺序接力,也可以串成一个自动化循环——你下达任务,它们全程自己转。
说白了,这是 Playwright 在 AI 时代对”测试自动化”这个概念的重新定义。以前是你写代码让机器自动跑,现在是你说需求让 AI 自动生成代码再自动跑。
— — —
三分钟装好,开始用
初始化 Agent 定义文件
一条命令搞定:
1 | bash |
npx playwright init-agents
1 | ``` |
bash
1 | `npx playwright init-agents --loop=claude` |
1 |
|
typescript
1 | `// seed.spec.ts 示例``import { test, expect } from './fixtures';``test('seed', async ({ page }) => {``// 在这里处理登录、初始化等准备工作``// 这个测试本身不需要有断言``});` |
1 |
|
text
1 | `把 specs/basic-operations.md 里的测试计划生成为测试代码` |
1 |
|
text
1 | `帮我修复 tests/add-valid-todo.spec.ts 里失败的测试` |
1 |
|
text
1 | `1. 写好 seed.spec.ts(处理环境初始化)``↓``2. 告诉 Planner:"给购物车模块生成测试计划"``↓``3. 检查 specs/cart-operations.md(可选,觉得OK就放行)``↓``4. 告诉 Generator:"把这个计划生成为测试代码"``↓``5. 测试跑起来,有失败的?告诉 Healer 去修``↓``6. 全部通过,合并进代码仓库` |
1 |
|
text
1 | `repo/``.github/ # Agent 定义文件(由 init-agents 生成)``specs/ # 人类可读的测试计划``basic-operations.md``cart-operations.md``tests/ # 生成的 Playwright 测试代码``add-valid-todo.spec.ts``checkout-flow.spec.ts``seed.spec.ts # 环境初始化的种子测试``playwright.config.ts` |
计划文件和测试文件一一对应,出了问题追溯很方便——测试失败了,去 `specs/` 找对应的计划,看是需求层面的问题还是代码层面的问题。
— — —
## 和 MCP、CLI 有什么不一样
三篇文章讲了三个东西,讲清楚区别很必要。一句话定性:**MCP 是感知工具,CLI 是执行工具,Agent 是自主系统。**
— — —
### Playwright MCP
**本质:** 给 AI 装了一双"眼睛"。
MCP 服务器把浏览器当前页面的可访问性树(Accessibility Tree)和截图暴露出来,让 AI 编码工具(VS Code Copilot、Claude 等)能"看到"页面。你在 IDE 里对话,每发一条指令,AI 就执行一步,然后把执行结果拿回来告诉你,你再决定下一步。
**关键特征:**
- 交互是**对话式**的,你是主导,AI 是执行手
- 每一步都在你视野里,过程可随时干预
- 因为要持续传输页面快照,**Token 消耗较高**
- 生成的代码可以直接落到编辑器里
**适合的场景:**
- 你对这个页面不熟,需要 AI 帮你"读懂"页面结构再写选择器
- 要写某个特定功能的测试,你想一边看生成结果一边调整
- 调试测试时,需要 AI 帮你解释"为什么这个元素找不到"
- 你是新手,想在 AI 陪伴下学着写 Playwright 测试
**一句话:你指挥,AI 干活,整个过程你在场。**
— — —
### Playwright CLI
**本质:** 给 AI 提供了一套命令行接口,让它能直接遥控浏览器。
和 MCP 相比,CLI 不依赖页面快照,而是把操作抽象成一条条结构化命令(`navigate`、`click`、`fill`、`screenshot` 等)。AI 调用这些命令来完成任务,整个过程更轻量,每条命令的 Token 消耗远低于 MCP 的页面传输。
**关键特征:**
- **无头(headless)友好**,不需要可视化界面也能跑
- 命令粒度细,适合在代码或 Agent 流程里编排调用
- Token 消耗低,成本可控
- 适合集成进更大的自动化流程,而不是独立使用
**适合的场景:**
- 你要在 CI/CD 里让 AI 自动完成某个操作(比如定期跑一遍冒烟测试)
- 你在构建一个更复杂的 AI 流程,Playwright 只是其中一个执行节点
- 批量自动化任务:爬取数据、批量截图、自动填表提交
- 对 Token 成本敏感,想用尽量少的消耗完成操作
**一句话:AI 自己下命令、自己执行,适合接入流水线,不适合互动调试。**
— — —
### Playwright Test Agents
**本质:** 专门为"测试"这件事设计的自主 AI 系统。
MCP 和 CLI 的定位都是"工具"——你决定做什么,AI 帮你做。Test Agents 不一样,你只需要给一个目标("给结账流程建测试覆盖"),三个 Agent 自己规划、自己生成代码、自己跑、自己修——形成一个闭环。
**关键特征:**
- 有明确的分工:Planner 探索 → Generator 生成代码 → Healer 修复失败
- 过程是**自主的**,不需要你逐步指挥
- 产出有中间层(Markdown 测试计划),人可以检查和干预
- 更适合"建立测试覆盖"这类项目级任务,而不是单个测试的调试
**适合的场景:**
- 项目从零开始,需要快速建立某个模块的测试覆盖
- 你有需求文档(PRD),想让 AI 直接根据需求生成测试用例
- 测试因为前端改动大量挂掉,让 Healer 批量修复比手动改快得多
- 希望在 CI 里集成"测试自愈"能力,挂掉的测试自动尝试修复
**一句话:你给目标,AI 完成全程,适合项目级的测试建设,不适合精细调试单个测试。**
— — —
### 三者对比总结
MCP
CLI
Test Agents
**控制权**
你指挥,AI 执行
AI 自主执行命令
AI 自主完成目标
**交互方式**
对话式,逐步
命令式,可批量
目标式,自主规划
**Token 消耗**
高(页面快照)
低(结构化命令)
中(有中间产物)
**适合粒度**
单个测试/操作
批量操作/流程节点
模块级/项目级
**人工介入**
全程在场
不需要介入
关键节点审核即可
**典型用途**
边调试边写测试
CI 自动化、AI 流程
测试覆盖建设
不是哪个更好,是看你在哪个阶段、要做什么事:**写单个测试找 MCP,搭自动化流程用 CLI,建整体测试覆盖上 Agents。**
— — —
## 几点实际使用的注意事项
**1. Seed 文件一定要写好**
这是整个 Agent 流程的基础。如果你的应用需要登录,seed 里没处理,Planner 探索时会撞墙。不复杂,但要认真写。
**2. Agent 定义文件要跟着 Playwright 版本走**
每次升级 Playwright 之后,`npx playwright init-agents` 重新跑一遍。这个文件里有工具列表和指令,Playwright 新功能加进来之后 Agent 才能用上。
**3. Healer 不是万能的**
选择器大范围改动、功能逻辑变了、接口 schema 变了——这些靠 Healer 修不了,它处理的是"能跑、跑失败了"这类问题,不处理"需求变了"。
**4. 生成的代码要过一遍眼**
Generator 产出的测试基本可用,但不要完全不看就合并。断言的力度是否合适、边界情况有没有覆盖、测试之间有没有依赖——这些仍然需要人判断。
— — —
## 小结
- 🎭 **Planner** → 探索应用,输出人类可读的测试计划(Markdown)
- 🎭 **Generator** → 把计划变成可执行的 Playwright 测试代码
- 🎭 **Healer** → 测试失败了,自动修,修不好就 skip 并说明原因
- 三个 Agent 可以串成完整流程,也可以单独按需调用
- 基础命令:`npx playwright init-agents`,之后在你的 AI 编码工具里直接用
如果你已经在用 Playwright MCP 帮你写测试,可以试试迁到 Test Agents 的方式——不再是你一步一步指挥,而是给它一个目标,让它跑完整个流程。
— — —
---
> 💬 本文评论区已开启,但暂无读者留言。
> 本文转载自微信公众号,如有侵权请联系删除。
- 标题: Playwright 又出新东西了:三个 Agent 帮你全自动写测试
- 作者: lxiol
- 创建于 : 2026-04-29 20:26:16
- 更新于 : 2026-05-12 16:07:04
- 链接: https://blog.lxiol.cn/2026/04/29/Playwright-又出新东西了三个-Agent-帮你全自动写测试/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。