# Browser QA — 自动化视觉测试与交互验证 ## When to use - 功能部署到 staging / preview 之后 - 需要验证跨页面的 UI 行为时 - 发布前确认布局、表单和交互是否真的可用 - 审查涉及前端改动的 PR 时 - 做可访问性审计和响应式测试时 ## How it works 使用浏览器自动化 MCP(claude-in-chrome、Playwright 或 Puppeteer),像真实用户一样与线上页面交互。 ### 阶段 1:冒烟测试 ``` 1. 打开目标 URL 2. 检查控制台错误(过滤噪声:分析脚本、第三方库) 3. 验证网络请求中没有 4xx / 5xx 4. 在桌面和移动端视口截图首屏内容 5. 检查 Core Web Vitals:LCP < 2.5s,CLS < 0.1,INP < 200ms ``` ### 阶段 2:交互测试 ``` 1. 点击所有导航链接,验证没有死链 2. 使用有效数据提交表单,验证成功态 3. 使用无效数据提交表单,验证错误态 4. 测试认证流程:登录 → 受保护页面 → 登出 5. 测试关键用户路径(结账、引导、搜索) ``` ### 阶段 3:视觉回归 ``` 1. 在 3 个断点(375px、768px、1440px)对关键页面截图 2. 与基线截图对比(如果已保存) 3. 标记 > 5px 的布局偏移、缺失元素、内容溢出 4. 如适用,检查暗色模式 ``` ### 阶段 4:可访问性 ``` 1. 在每个页面运行 axe-core 或等价工具 2. 标记 WCAG AA 违规(对比度、标签、焦点顺序) 3. 验证键盘导航可以端到端工作 4. 检查屏幕阅读器地标 ``` ## Examples ```markdown ## QA 报告 — [URL] — [timestamp] ### 冒烟测试 - 控制台错误:0 个严重错误,2 个警告(分析脚本噪声) - 网络:全部 200/304,无失败请求 - Core Web Vitals:LCP 1.2s,CLS 0.02,INP 89ms ### 交互 - [done] 导航链接:12/12 正常 - [issue] 联系表单:无效邮箱缺少错误态 - [done] 认证流程:登录 / 登出正常 ### 视觉 - [issue] Hero 区域在 375px 视口下溢出 - [done] 暗色模式:所有页面一致 ### 可访问性 - 2 个 AA 级违规:Hero 图片缺少 alt 文本,页脚链接对比度过低 ### 结论:修复后可发布(2 个问题,0 个阻塞项) ``` ## 集成 可与任意浏览器 MCP 配合: - `mChild__claude-in-chrome__*` 工具(推荐,直接使用你的真实 Chrome) - 通过 `mcp__browserbase__*` 使用 Playwright - 直接运行 Puppeteer 脚本 可与 `/canary-watch` 搭配用于发布后的持续监控。