用途:在编写 Playwright 端到端(E2E)测试时使用,包括创建 Page Object Model、设置选择器与断言,以及借助 MCP 进行测试探索。
主要能力与要求:
- MCP 工作流(若可用则强制):先导航到目标页面、截取快照查看页面结构与元素、与表单/元素交互验证真实用户流程、截图记录预期状态、验证完整流程的页面跳转、从快照记录实际选择器,之后才用已验证的选择器编写测试代码。
- 文件结构(必需):tests/ 下包含 base-page.ts(所有页面的父类)、helpers.ts(共享工具),以及按页面命名的目录,内含 {page-name}-page.ts(Page Object Model)、{page-name}.spec.ts(所有测试集中于此,不拆分文件)和 {page-name}.md(测试文档)。
- 选择器优先级(必需):优先 getByRole 用于交互元素,getByLabel 用于表单控件,getByText 仅用于静态内容,getByTestId 作为最后手段;避免 .btn-primary、#email 等脆弱选择器。
- Page Object 模式(必需):所有页面继承 BasePage,页面类中声明 Locator 并实现 goto、login 等方法。
- 决策树:点击用 getByRole 或 getByTestId;输入用 getByLabel + fill();断言用 expect() 配合 locator;等待使用内置自动等待;可复用逻辑创建 Page Object;共享工具放入 helpers.ts。
- 范围判断:用户说“一个测试/新测试”时在现有 spec 中创建一个 test();说“全面测试/所有测试/测试套件”时创建完整套件。
常用命令:npx playwright test、npx playwright test --grep "login"、npx playwright test --ui、npx playwright test --debug、npx playwright codegen、npx playwright show-report。
适用场景:编写 E2E 测试、创建 Page Object Model、设置选择器与断言、使用 MCP 探索测试流程。
限制:资料未提供安装步骤、版本要求、收费信息或平台支持范围;MCP 工作流仅在具备 Playwright MCP 工具时适用。