本技能用于在用户询问 Playwright、响应式测试、用 Playwright 测试、登录流程测试、文件上传测试等场景时提供实践指导。
用途:规范 Playwright 端到端测试的编写、组织与调试。
主要能力:
- 测试组织:推荐 tests/auth、dashboard、fixtures、pages 等目录结构,文件名用 feature-name.spec.ts,测试名描述用户行为而非实现。
- 页面对象模型:以 pages/login.page.ts 封装 goto、login 等方法,在测试中复用。
- 定位器优先级:getByRole > getByLabel > getByPlaceholder > getByText > getByTestId,CSS/XPath 为最后手段。
- 认证处理:推荐 global-setup 保存 storageState 到 auth.json,并在 playwright.config.ts 的 use 中复用;多用户场景可分别保存 admin-auth.json、user-auth.json 并用 test.use 指定。
- 文件上传下载:setInputFiles 上传单/多文件或以 [] 清空;可 dispatchEvent 模拟拖拽上传;用 page.waitForEvent("download") 与 download.saveAs 保存下载。
- 等待策略:优先自动等待与断言(toBeVisible 等),必要时用 waitForURL、waitForLoadState、waitForResponse。
- 网络模拟:page.route 可 mock 响应、返回错误状态,或用 route.fetch 拦截修改后再 fulfill。
- CI/CD:在 GitHub Actions 中执行 npx playwright test 并上传 playwright-report 工件;可配置 workers 与 fullyParallel。
- 调试:npx playwright test --ui / --debug / --headed,配置 trace: 'on-first-retry' 抓取失败轨迹。
- 稳定性:避免 waitForTimeout 硬等待与易碎选择器,处理竞态、动画、动态内容和测试隔离。
响应式测试:资料建议使用 responsive-tester 代理,覆盖 375px 至 1536px 的 7 个断点,检测横向溢出、验证移动优先模式、检查最小 44x44px 触控目标并标记固定宽度等反模式,可通过“测试响应式”“检查断点”触发。
限制:资料未提供安装步骤、版本要求、平台支持、收费与价格等信息,暂未提供。