mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-08 02:03:34 +08:00
82 lines
2.4 KiB
Markdown
82 lines
2.4 KiB
Markdown
# 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` 搭配用于发布后的持续监控。
|