生产级 Playwright 测试工具包。当用户提到 Playwright 测试、端到端测试、浏览器自动化、修复不稳定测试、测试迁移、CI/CD 测试或测试套件时使用。生成测试、修复不稳定失败、从 Cypress/Selenium 迁移、同步 TestRail、在 BrowserStack 上运行。包含 55 个模板、3 个 Agent、智能报告。
面向 AI 编程 Agent 的生产级 Playwright 测试工具包。
作为 Claude Code 插件安装时,这些命令可以通过 /pw: 命令使用:
| 命令 | 功能 |
|---|---|
/pw:init | 设置 Playwright — 检测框架、生成配置、CI 和第一个测试 |
/pw:generate <spec> | 根据用户故事、URL 或组件生成测试 |
/pw:review | 审查测试中的反模式和覆盖范围缺口 |
/pw:fix <test> | 诊断并修复失败或不稳定的测试 |
/pw:migrate | 从 Cypress 或 Selenium 迁移到 Playwright |
/pw:coverage | 分析已测试内容与缺失内容 |
/pw:testrail | 与 TestRail 同步 — 读取用例、推送结果 |
/pw:browserstack | 在 BrowserStack 上运行,获取跨浏览器报告 |
/pw:report | 以你喜欢的格式生成测试报告 |
大多数项目的推荐顺序:
1. /pw:init → 脚手架化配置、CI 流水线和第一个冒烟测试
2. /pw:generate → 根据你的规范或 URL 生成测试
3. /pw:review → 验证质量并标记反模式 ← 始终在生成后运行
4. /pw:fix <test> → 诊断并修复任何失败/不稳定的测试 ← 当 CI 变红时运行
验证检查点:
/pw:generate 之后 — 在提交之前始终运行 /pw:review;它会自动捕获选择器反模式和缺失的断言。/pw:fix 之后 — 在本地重新运行整个套件 (npx playwright test) 以确认修复没有引入回归。/pw:migrate 之后 — 在停用 Cypress/Selenium 测试之前运行 /pw:coverage 以确认与旧套件的一致性。# 1. 根据用户故事生成测试
/pw:generate "As a user I can log in with email and password"
# 已生成:tests/auth/login.spec.ts
# → Playwright Pro 使用 auth 模板创建文件。
# 2. 审查生成的测试
/pw:review tests/auth/login.spec.ts
# → 标记:一个测试使用了 page.locator('input[type=password]') — 建议使用 getByLabel('Password')
# → 已自动应用修复。
# 3. 在本地运行以确认
npx playwright test tests/auth/login.spec.ts --headed
# 4. 如果测试在 CI 中不稳定,进行诊断
/pw:fix tests/auth/login.spec.ts
# → 识别缺失的网络优先 (web-first) 断言;将 waitForTimeout(2000) 替换为 expect(locator).toBeVisible()
getByRole() 而非 CSS/XPath — 对标记更改具有弹性page.waitForTimeout() — 使用网络优先断言expect(locator) 会自动重试;expect(await locator.textContent()) 不会baseURL — 零硬编码 URL2 次,本地 0 次'on-first-retry' — 丰富的调试信息且不降低速度test.extend() 处理共享状态1. getByRole() — 按钮、链接、标题、表单元素
2. getByLabel() — 带有标签的表单字段
3. getByText() — 非交互式文本
4. getByPlaceholder() — 带有占位符的输入框
5. getByTestId() — 当不存在语义化选项时
6. page.locator() — 作为最后手段的 CSS/XPath
export TESTRAIL_URL="https://your-instance.testrail.io"
export TESTRAIL_USER="[email protected]"
export TESTRAIL_API_KEY="your-api-key"
export BROWSERSTACK_USERNAME="your-username"
export BROWSERSTACK_ACCESS_KEY="your-access-key"
请参阅 reference/ 目录获取:
golden-rules.md — 10 条不可逾越的规则locators.md — 完整的选择器优先级及速查表assertions.md — 网络优先断言参考fixtures.md — 自定义 Fixture 和 storageState 模式common-pitfalls.md — 前 10 名错误及修复方案flaky-tests.md — 诊断命令和快速修复查看 templates/README.md 获取完整的模板索引。