3.3 KiB
3.3 KiB
Agent MCP 浏览器点页规程(Playwright MCP)
用例编号见
test-case-matrix.md中MCP-*行。
工具:Cursor Playwright MCP(browser_navigate,browser_snapshot,browser_click,browser_type等)。
0. 环境与安全
BASE=http://127.0.0.1:8600/app/ # 本地优先
USER=admin # 或 NEXUS_E2E_USER
PASS=<来自 .env,勿写入报告>
| 规则 | 说明 |
|---|---|
| 禁止 | 生产批量推送、批量删机、真实 WebSSH 长连接 |
| 允许 | 只读浏览、打开对话框后取消、对 test-* 子机 dry-run |
| 证据 | 每用例结束写 docs/reports/mcp-runs/YYYY-MM-DD-<MCP-ID>.md |
报告模板:
# MCP-PUSH-001 2026-06-08
- BASE: http://127.0.0.1:8600/app/
- 结果: PASS|FAIL
- 步骤: 1…n
- 截图: (可选路径)
- 沉淀: 是否需新增 E2E-PUSH-002
1. MCP-AUTH-001 — 登录页
browser_navigate→{BASE}#/loginbrowser_snapshot→ 断言存在「用户名」「密码」输入与登录按钮browser_type用户名/密码 →browser_click登录browser_snapshot→ URL 含#/且侧栏可见
失败处理:401 检查 API :8600/health 与 start-dev.sh
2. MCP-DASH-001 — 仪表盘
- 已登录状态下
browser_navigate→#/ browser_snapshot→ 在线/离线/告警类统计文案存在- 记录数字是否为
—或 0(无数据也算 PASS)
3. MCP-PUSH-001 — 推送提交(非破坏性)
browser_navigate→#/pushbrowser_snapshot→ 目标路径、文件选择、提交按钮- 仅当选中子机 hostname 含
test时继续;否则标记 SKIP 并注明原因 browser_click提交 → 等待 ≤5sbrowser_snapshot→- 提交按钮不应持续 disabled/loading >10s(对应 E2E-PUSH-002)
- 进度区域或 toast 出现
- 写报告;若 PASS,7 日内补
frontend/e2e/flows/push-submit.spec.mjs
4. MCP-SRV-002 — 无 CSV 导出
#/servers→browser_snapshot- 全文搜索「导出」「CSV」→ 不得出现可点击导出按钮
- 对应 E2E-SRV-002
5. MCP-ALT-001 / MCP-AUD-001 — 北京时间
- 分别打开
#/alerts、#/audit browser_snapshot表格时间列- 期望:
YYYY-MM-DD HH:mm或带CST/北京时间语义;不应出现未格式化的 ISOT...Z裸串 - 与
UT-TIME-001一致
6. MCP-SCH-001 — 调度周期文案
#/schedules→ 新建调度browser_snapshot周期/开始执行相关 label- 与
docs/changelog/2026-06-08-schedule-form-start-cycle-only.md一致
7. MCP-EXEC-001 — 执行看板
#/executions- 若有行,
browser_click展开首行 browser_snapshot→ 详情面板无 500 错误 snackbar
8. 标准回归包(部署后 Agent 必跑)
按序执行,总时长目标 <15min:
MCP-AUTH-001 → MCP-DASH-001 → MCP-SRV-002 → MCP-PUSH-001(SKIP ok)
→ MCP-ALT-001 → MCP-AUD-001 → MCP-CMD-001
汇总写入 docs/reports/YYYY-MM-DD-mcp-regression.md。
9. 与 Playwright CI 关系
| MCP | 沉淀为 E2E |
|---|---|
| MCP-PUSH-001 | E2E-PUSH-002 |
| MCP-SRV-002 | E2E-SRV-002 |
| MCP-ALT-001 | 扩 E2E-ALT-001 断言时间格式 |
MCP 不替代 CI;仅用于部署后探索与用例发现。