用途:围绕用户可见行为编写、审查或修复 Playwright 测试,避免依赖实现细节,让测试确定性运行、失败时能给出有用原因。
主要能力与规则:优先使用面向用户的定位器;使用 web-first 断言;信任 Playwright 自动等待;不使用固定 sleep;保持测试隔离、与执行顺序无关;控制测试数据和外部服务;mock 第三方依赖;仅在风险充分时才添加跨浏览器项目;相比巧妙抽象,更倾向清晰的重复。
定位器优先级:getByRole、getByLabel、getByPlaceholder、getByText、getByAltText、getByTestId,以及带作用域的 filter() 链。避免 CSS 类、DOM 位置选择器、XPath、组件名和内部状态。
用法示例: // Good await page.getByRole('button', { name: 'Save for later' }).click() await expect(page.getByRole('alert')).toHaveText('Saved')
// Bad await page.locator('.buttonIcon').click() await page.waitForTimeout(2000) expect(await page.getByText('Saved').isVisible()).toBe(true)
推荐流程:说明被测用户行为;创建全新状态;使用面向用户的定位器;执行用户操作;用 await expect 断言可见结果;通过 trace、截图、视频或 UI 模式调试;修复根因。
审查输出结构:Playwright Test Review,包含 Behavior tested、Locator quality、Assertions、Isolation、Flake risk、Fixes。
限制:公开资料未提供安装命令、版本要求、配置细节、收费方式与平台支持信息,这些方面暂未提供。