编程 Playwright Test Agents深度解析:三个AI Agent帮你全自动写测试

2026-04-28 16:25:24 +0800 CST views 16

Playwright Test Agents 深度解析:三个 AI Agent 帮你全自动写测试

写 Playwright 测试这件事,业界经历了三个阶段:

  • 第一阶段:你写代码,机器跑。手动写断言,手动维护。
  • 第二阶段:你用 MCP,AI 帮你写代码。你指挥,AI 执行。
  • 第三阶段:你给目标,AI 自己搞定全程。

Playwright 官方最新推出的 Test Agents,就是这个第三阶段的产物——三个专门为测试这件事训练的 AI Agent,你告诉它测什么,它自己探索、自己写代码、跑失败了还能自己修。

三个 Agent 各司其职

Test Agents 包含三个角色,分工明确:

Agent职责产出
Planner探索应用,规划测试范围Markdown 测试计划文件
Generator把计划翻译成可执行代码.spec.ts 测试文件
Healer跑失败的测试,自动修复修好的测试代码

三个 Agent 可以单独用,也可以串成一个完整循环——你下达任务,它们全程自己转。

五分钟上手

第一步:初始化 Agent 定义文件

npx playwright init-agents

默认生成 VS Code 模式。如果用 Claude Code:

npx playwright init-agents --loop=claude

这条命令在 .github/ 目录下生成 Agent 的"说明书"——告诉 AI 有哪些工具可以用、怎么配合。

⚠️ 重要:Playwright 版本更新后要重新跑一次,定义文件不会自动同步。

第二步:写好 seed.spec.ts(关键)

这是整个流程的基础。seed.spec.ts 处理"进门"的事——登录、初始化数据、设置 fixture。

// seed.spec.ts 示例
import { test, expect } from './fixtures';

test('seed', async ({ page }) => {
  // 在这里处理登录、初始化等准备工作
  // 这个测试本身不需要有断言
});

Planner 会先跑这个 seed 测试把环境配置好,然后用它作为后续生成的风格样本。

第三步:串起三个 Agent

1. seed.spec.ts 准备就绪
   ↓
2. Planner:"给购物车模块生成测试计划"
   ↓
3. 检查 specs/cart-operations.md(可选,觉得OK就放行)
   ↓
4. Generator:"把这个计划生成为测试代码"
   ↓
5. 测试跑起来,有失败的?Healer 去修
   ↓
6. 全部通过,合并进代码仓库

整个过程你主要在审核,不在执行

三个 Agent 详解

Planner:先探路,再规划

Planner 干的事情是理解你的应用,规划测试范围

输入:

  • 一个清晰的任务描述(如"给访客结账流程生成测试计划")
  • seed.spec.ts(必须)
  • 可选:产品需求文档(PRD)

输出:

  • specs/basic-operations.md——人类可读的测试计划,包含每个测试场景、步骤、预期结果

这个 Markdown 计划文件是整个流程中最有价值的一环——你可以不碰代码,直接检查 AI 生成的测试覆盖范围是否完整、有没有遗漏。

Generator:把计划变成能跑的代码

输入:specs/ 目录下的 Markdown 计划文件

输出:tests/ 目录下的测试文件

Generator 在生成过程中会实时验证——真的操作浏览器,确认选择器是否有效、断言是否合理。生成完就是能跑的代码(大部分情况)。

提示语非常简单:

把 specs/basic-operations.md 里的测试计划生成为测试代码

Healer:测试挂了,让它修

测试跑失败了——前端改了 DOM、等待时间不够、数据对不上——以前要自己看报错、找元素、改代码、重新跑。

现在:

帮我修复 tests/add-valid-todo.spec.ts 里失败的测试

Healer 会:

  1. 重新回放失败的测试步骤
  2. 查看当前 UI,找到对应的元素或流程
  3. 提出修复方案(更新选择器、调整等待、修改数据)
  4. 重新跑测试,直到通过

如果跑了几次还是不行,它会把这个测试标记为 skip,并注明原因(可能是功能本身有问题)。

和 MCP、CLI 的区别

这是三件不同的事:MCP 是感知工具,CLI 是执行工具,Agent 是自主系统

MCPCLITest Agents
本质给 AI 装了一双"眼睛"给 AI 提供命令行接口专门为测试设计的自主 AI 系统
控制权你指挥,AI 执行AI 自主执行命令AI 自主完成目标
交互方式对话式,逐步命令式,可批量目标式,自主规划
Token 消耗高(页面快照)低(结构化命令)中(有中间产物)
适合粒度单个测试/操作批量操作/流程节点模块级/项目级
人工介入全程在场不需要介入关键节点审核
典型用途边调试边写测试CI 自动化、AI 流程测试覆盖建设

选择逻辑:写单个测试找 MCP,搭自动化流程用 CLI,建整体测试覆盖上 Agents。

实际使用注意事项

1. Seed 文件一定要写好

这是整个 Agent 流程的基础。如果你的应用需要登录,seed 里没处理,Planner 探索时会撞墙。不复杂,但要认真写。

2. Agent 定义文件要跟着 Playwright 版本走

每次升级 Playwright 后,npx playwright init-agents 重新跑一遍。

3. Healer 不是万能的

选择器大范围改动、功能逻辑变了、接口 schema 变了——这些靠 Healer 修不了。它处理的是"能跑、跑失败了",不处理"需求变了"。

4. 生成的代码要过一遍眼

断言的力度是否合适、边界情况有没有覆盖、测试之间有没有依赖——这些仍然需要人判断。AI 能生成代码,但业务逻辑判断还是人更准。

总结

Test Agents 的本质是 Playwright 在 AI 时代对"测试自动化"的重新定义:以前是你写代码让机器自动跑,现在是你说需求让 AI 自动生成代码再自动跑

三个 Agent 接力,Planner 探索 → Generator 生成代码 → Healer 修复失败,你主要在关键节点审核,而不是逐步执行。对于需要快速建立测试覆盖的项目来说,这是一个显著提升效率的工具。


参考链接

  • Playwright 官方文档:playwright.dev
  • Test Agents 介绍:npx playwright init-agents --help
  • 相关:Playwright MCP(感知工具)、Playwright CLI(执行工具)
复制全文 生成海报 Playwright AI 测试 自动化 Agent

推荐文章

mendeley2 一个Python管理文献的库
2024-11-19 02:56:20 +0800 CST
避免 Go 语言中的接口污染
2024-11-19 05:20:53 +0800 CST
Flet 构建跨平台应用的 Python 框架
2025-03-21 08:40:53 +0800 CST
前端代码规范 - 图片相关
2024-11-19 08:34:48 +0800 CST
Rust 并发执行异步操作
2024-11-19 08:16:42 +0800 CST
最全面的 `history` 命令指南
2024-11-18 21:32:45 +0800 CST
一些高质量的Mac软件资源网站
2024-11-19 08:16:01 +0800 CST
Vue3中如何处理WebSocket通信?
2024-11-19 09:50:58 +0800 CST
全栈工程师的技术栈
2024-11-19 10:13:20 +0800 CST
Grid布局的简洁性和高效性
2024-11-18 03:48:02 +0800 CST
LangChain快速上手
2025-03-09 22:30:10 +0800 CST
2025年,小程序开发到底多少钱?
2025-01-20 10:59:05 +0800 CST
程序员茄子在线接单