Playwright 浏览器自动化技能
用命令行驱动浏览器,测试网页并调试 Playwright 流程。
技能声明仅允许 Bash(playwright-cli:*), Bash(npx:*), Bash(npm:*),具备一定工具范围限制;但可访问任意网页、执行任意 run-code、读写 cookies/storage、上传文件、附加外部浏览器,并提供 delete-data/kill-all 等高影响操作,缺少逐项用户确认、数据流披露、敏感信息隔离和回滚规范,因此扣分。未见恶意或隐蔽外泄行为。
命令分类、引用文档和多数示例形成了可读工作流,且包含异常处理、清理和测试失败处理;但依赖安装、CLI 版本/命令兼容性、后台调试控制和跨平台行为存在未验证假设,部分操作失败反馈与边界情况说明不足。静态评估按上限不超过10分处理,扣除未执行复现部分。
目标场景明确,覆盖浏览器自动化、测试调试、会话、存储、网络模拟和测试生成;但触发条件、非适用范围、权限敏感场景和用户确认边界不够明确,未提供中文使用说明或大陆网络可达性保障,因此扣分。
文档按快速开始、命令、专题引用和完整流程组织,引用了多个参考文件,并说明了存储状态安全注意事项;但技能自身缺少版本锁定、变更日志、明确维护责任和更新路径,安装依赖与命令来源也有潜在版本假设。仓库上下文提供 Apache-2.0、Microsoft 归属和版本信息,故未按许可或出处扣分。
技能覆盖从交互到测试生成、调试和修复的主要任务,输出命令和生成代码通常可直接作为工作材料;但示例依赖真实页面、环境、浏览器和项目配置,很多结果需用户审查,且静态读取无法验证关键路径,因此按静态上限不超过7分并扣除未执行验证部分。
命令示例、参考文档、仓库 README、package.json 测试脚本和许可证构成可审计材料;但未执行命令、未展示与该技能关键路径对应的实际测试结果或第三方复现证据,且证据主要来自同一仓库,故不超过静态上限5分。
- 执行任意 URL、run-code、上传、持久化 profile 或 state-save 前应明确确认目标和敏感数据范围。
- 默认示例可能处理账号、密码、cookie、授权头和网络响应;不要把真实凭据或 auth state 写入项目、日志或 trace。
- delete-data、close-all、kill-all 及清理 trace 可能造成数据或运行状态丢失,使用前应确认范围并保留必要备份。
- 安装命令和 CLI 版本可能不一致;应先在目标项目中核对可用命令与依赖版本。
这个 Skill 能做什么,适合哪些场景?
该技能通过 playwright-cli 自动化浏览器交互、网页测试和 Playwright 测试工作流。它支持 Chromium、Firefox、WebKit 以及 Chrome、Edge 等浏览器连接方式,并能处理导航、表单、标签页、存储和网络路由。技能还提供截图、PDF、控制台、请求、追踪、录像和代码执行等操作。它适合需要让编码代理直接操作网页、验证端到端流程或排查浏览器行为的开发者。
运行 playwright-cli 或 npx playwright cli 命令;打开、关闭、导航和切换浏览器页面;根据快照引用或选择器点击、输入、拖放、上传、选择和检查元素;读取快照、查找文本、执行页面 JavaScript;管理对话框、标签页、Cookie、LocalStorage、SessionStorage 和浏览器会话;配置网络路由;获取控制台日志与请求;生成截图、PDF、追踪和录像;保存或加载状态,并连接已有浏览器。
- 前端开发者在 Chromium、Firefox 和 WebKit 上验证同一端到端流程。
- 编码代理需要打开网页、填写表单并根据页面快照完成交互。
- 测试人员需要保存成功或失败场景的截图、PDF、追踪或录像。
- 开发者需要检查页面控制台、网络请求或元素属性以定位测试问题。
- 需要复用登录状态、Cookie 或本地存储的浏览器自动化流程。
这个 Skill 有哪些优点和局限?
- 覆盖 Chromium、Firefox 和 WebKit 的统一命令行自动化接口。
- 命令涵盖页面交互、标签页、存储、网络、调试、截图和录像。
- 快照与 `--raw`、`--json` 输出支持较紧凑或结构化的工作流。
- 支持命名会话、持久化配置、移动设备模拟及连接运行中的浏览器。
- SKILL.md 使用 `allowed-tools` 的 `Bash(...)` 权限语法,移植到其他客户端可能需要调整。
- 该技能文档主要覆盖 CLI 操作;列出的专项参考文档内容未随提示提供,细节不应假定。
- 源材料没有提供该技能独立的测试结果、性能数据或平台实测证据。
- 浏览器交互、上传、截图和网络访问依赖本地 CLI、文件系统及目标网页可访问性。
如何安装这个 Skill?
仓库将该技能放在 packages/playwright-core/src/tools/skills/playwright-cli/SKILL.md。README 提供的 CLI 安装命令是 npm install -g @playwright/cli@latest;安装后可运行 playwright-cli install --skills 获取技能集合。若本机没有全局命令,可先运行 npx --no-install playwright --version 检查本地版本,并使用 npx playwright cli。源材料未说明不同 Agent 客户端的具体技能目录安装规则。
如何使用这个 Skill?
向编码代理提出明确的浏览器任务,例如:Test the "add todo" flow on https://demo.playwright.dev/todomvc using playwright-cli. Take screenshots for all successful and failing scenarios. 典型命令包括 playwright-cli open https://example.com、playwright-cli snapshot、playwright-cli click e3、playwright-cli fill e5 "[email protected]" 和 playwright-cli close。交互通常先获取快照,再使用其中的元素引用或 Playwright 定位器。
这个 Skill 与同类方案有什么区别?
README 将 Playwright CLI 与 Playwright Test、Playwright MCP、Playwright Library 和 VS Code Extension 区分开来:CLI 面向编码代理的命令行浏览器自动化;Playwright Test 面向端到端测试运行器;MCP 面向 AI 代理和基于 LLM 的自动化;Library 面向脚本;VS Code Extension 面向编辑器中的测试编写与调试。