关于 playwright-mcp-workflows
playwright-mcp-workflows 是用于 Claude 的 Playwright 技能,支持结构化浏览器自动化与 UI 测试。它侧重确定性交互、显式验证和 MCP 工作流协调。
主要功能
- 01自动执行浏览器导航与交互
- 02验证 UI 状态和行为
- 03使用稳定选择器与确定性等待
- 04分离工作流逻辑和断言
- 05协调多步骤 MCP 任务
适用场景
- 01测试前端应用流程
- 02检查仪表板行为与布局
- 03运行可重复的浏览器回归测试
- 04自动处理日常网页工作流
MCP 相关
该技能指导 Claude 通过 MCP 编排 Playwright 工具,并协调浏览器任务和工作流状态。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ composio-community/ opencode-skills --skill playwright-mcp-workflows安装后在 Claude Code 中输入/playwright-mcp-workflows确认已加载。
详细介绍
Playwright MCP 工作流
概述
此技能使 Claude 能够在基于 MCP 的工作流中使用 Playwright,以实现浏览器自动化、与 Web 应用交互、验证 UI 行为,以及执行可靠的端到端自动化任务。
该工作流侧重于:
- 浏览器自动化
- MCP 工具编排
- UI 测试
- 工作流自动化
- DOM 交互
- 视觉验证
- 确定性浏览器控制
- 可扩展的自动化流水线
目标是在保持自动化行为稳定的同时,让 Claude 能以结构化、可靠且可重复的方式与网站和 Web 应用交互。
此工作流尤其适用于:
- 测试应用
- 验证前端行为
- 自动化重复性工作流
- 基于浏览器的 Agent 系统
- AI 驱动的 QA 流水线
设置
开始之前:
-
安装 Node.js: https://nodejs.org
-
创建项目:
npm init -y
- 安装 Playwright:
npm install playwright
- 安装浏览器二进制文件:
npx playwright install
- 配置 MCP 集成层。
推荐工具:
- Playwright
- 兼容 MCP 的 Agent 系统
- VS Code
- Chromium
- GitHub Actions(可选)
推荐扩展:
- Playwright VS Code Extension
- Error Lens
可选项:
- Docker
- CI/CD 流水线
- 截图差异工具
- 无头浏览器基础设施
所需输入
- 目标网站或应用
- 自动化目标
- 浏览器工作流要求
- UI 验证目标
可选项:
- 身份验证凭据
- 测试账户
- 现有的 Playwright 脚本
- MCP 编排系统
何时使用此技能
在以下情况下使用此技能:
- 自动化浏览器工作流
- 测试前端应用
- 验证 UI 行为
- 构建 AI 浏览器 Agent
- 执行回归测试
- 自动化重复性 Web 任务
- 创建确定性的浏览器流水线
- 编排多步骤浏览器工作流
何时不使用
请勿在以下情况下使用此技能:
- 仅涉及后端的工作流
- 非浏览器自动化
- 极不稳定且缺乏文档的界面
- 不安全的凭据共享系统
- 需要绕过 CAPTCHA 或进行滥用自动化的任务
使用示例
使用 Claude 和 Playwright MCP 工具验证 SaaS 仪表板工作流。
Claude 应该:
- 打开应用
- 登录仪表板
- 浏览各项 UI 流程
- 验证布局和功能
- 检测交互故障
- 根据需要截取屏幕截图
- 清晰地报告工作流问题
最终结果应:
- 保持确定性
- 能够可靠复现
- 验证关键工作流
- 提升测试质量
- 支持可扩展的浏览器自动化
Playwright MCP 核心原则
1. 保持浏览器自动化的确定性
自动化系统在每次执行时都应表现一致。
Claude 应该:
- 避免使用不稳定的选择器
- 等待确定的状态
- 验证页面是否就绪
- 使用结构化的导航逻辑
良好的确定性工作流有助于提升:
- 可靠性
- 调试能力
- 可复现性
避免:
- 计时技巧
- 任意延迟
- 不可靠的 DOM 假设
2. 使用稳定的选择器
选择器对实现可靠的自动化至关重要。
优先使用:
- 数据属性
- 语义标签
- 无障碍角色
- 稳定的 ID
避免使用:
- 嵌套过深的 CSS 选择器
- 动态生成的类
- 脆弱的 DOM 链
良好的选择器有助于提升:
- 测试稳定性
- 可维护性
- 长期可靠性
3. 明确验证 UI 状态
Claude 应主动验证:
- 页面渲染
- 加载完成状态
- 元素可见性
- 交互是否成功
- 错误状态
避免假设:
- 页面已正确加载
- 请求已成功完成
- 动画已自动结束
明确验证有助于提升:
- 可靠性
- 调试质量
- 工作流稳定性
4. 将工作流逻辑与断言分离
良好的自动化系统会将以下内容分开:
- 导航逻辑
- 交互系统
- 验证断言
- 报告
这有助于提升:
- 可读性
- 调试能力
- 可扩展性
- 可维护性
结构示例:
workflows/
assertions/
helpers/
screenshots/
5. MCP 系统应实现清晰的编排
基于 MCP 的工作流应:
- 协调浏览器任务
- 管理工具执行
- 保留共享上下文
- 可靠地安排自动化执行顺序
Claude 应:
- 跟踪工作流状态
- 维护执行上下文
- 同步自动化阶段
良好的编排有助于提升:
- 可扩展性
- Agent 协作
- 执行清晰度
工作流
1. 定义浏览器工作流
首先确定:
- 目标应用
- 自动化目标
- 验证要求
- 交互流程
示例:
- 登录流程
- 仪表板测试
- 结账验证
- 管理工作流
- 引导流程
定义:
- 成功条件
- 失败状态
- 预期的 UI 行为
2. 启动浏览器会话
初始化 Playwright。
示例:
const browser = await chromium.launch();
配置:
- 浏览器类型
- 无头/有头模式
- 视口大小
- 会话持久化
确保:
- 会话保持稳定
- 环境可复现
3. 导航与交互
Claude 应:
- 打开页面
- 点击元素
- 填写表单
- 导航工作流
- 等待状态稳定
使用:
- 角色选择器
- 标签
- 稳定标识符
验证:
- 交互成功
- 页面正确渲染
- 导航保持稳定
4. 验证 UI 行为
检查:
- 可见内容
- 布局渲染
- 加载状态
- 交互反馈
- 错误消息
Claude 应检测:
- 流程故障
- 元素缺失
- 渲染不稳定
- 交互失败
可选:
- 截图对比
- 视觉回归检查
5. 妥善处理错误
自动化系统应:
- 尽早检测故障
- 捕获有用日志
- 保留截图
- 清晰报告问题
避免:
- 静默失败
- 含糊的错误处理
- 报告不完整
良好的调试能力有助于提升:
- 可靠性
- 可维护性
- 工作流可扩展性
6. 协调 MCP 任务
在多 Agent 系统中:
- 浏览器 Agent
- 审查 Agent
- 报告 Agent
- 编排 Agent
应通过以下方式进行协作:
- 共享上下文
- 结构化工作流状态
- 确定性的执行顺序
这有助于提升:
- 可扩展性
- 自动化可靠性
- 任务协作能力
7. 最终验证与报告
完成前验证:
- 工作流成功
- UI 一致性
- 交互稳定性
- 执行无错误
生成:
- 报告
- 截图
- 摘要
- 故障日志
确保:
- 结果可复现
- 工作流易于维护
输出预期
最终输出应包含:
- 可靠的浏览器自动化
- 稳定的 Playwright 工作流
- 确定性的 UI 验证
- 结构化的 MCP 编排
- 易于维护的自动化系统
- 可用于生产环境的测试工作流
工作流本身应保持:
- 可扩展
- 模块化
- 可复现
- 易于调试
- 便于自动化
执行策略(适用于 AI Agent)
Agent 应:
- 保持浏览器行为确定
- 始终使用稳定的选择器
- 明确验证 UI 状态
- 将工作流逻辑与断言分离
- 谨慎协调 MCP 系统
- 主动生成有用的调试信息
工作流应优先考虑:
- 可靠性
- 可复现性
- 自动化质量
- UI 稳定性
- 调试清晰度
最佳实践
- 优先使用稳定的选择器
- 避免任意延迟
- 验证每个关键交互
- 捕获有用的调试信息
- 保持自动化工作流模块化
- 将断言与导航逻辑分离
- 保留可复现的执行环境
说明
- 稳定的选择器能大幅提升自动化的可靠性
- 确定性工作流更适合长期扩展
- 明确的验证可防止隐藏的自动化故障
- 良好的浏览器编排能提升多 Agent 执行质量
- Playwright 与结构化工作流系统结合时,功能最为强大