Files

102 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

# Agent MCP 浏览器点页规程(Playwright MCP
> 用例编号见 `test-case-matrix.md` 中 `MCP-*` 行。
> 工具:Cursor **Playwright MCP**`browser_navigate`, `browser_snapshot`, `browser_click`, `browser_type` 等)。
## 0. 环境与安全
```text
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` |
报告模板:
```markdown
# 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 — 登录页
1. `browser_navigate``{BASE}#/login`
2. `browser_snapshot` → 断言存在「用户名」「密码」输入与登录按钮
3. `browser_type` 用户名/密码 → `browser_click` 登录
4. `browser_snapshot` → URL 含 `#/` 且侧栏可见
**失败处理**401 检查 API `:8600/health``start-dev.sh`
## 2. MCP-DASH-001 — 仪表盘
1. 已登录状态下 `browser_navigate``#/`
2. `browser_snapshot` → 在线/离线/告警类统计文案存在
3. 记录数字是否为 `—` 或 0(无数据也算 PASS
## 3. MCP-PUSH-001 — 推送提交(非破坏性)
1. `browser_navigate``#/push`
2. `browser_snapshot` → 目标路径、文件选择、提交按钮
3. **仅当选中子机 hostname 含 `test` 时**继续;否则标记 SKIP 并注明原因
4. `browser_click` 提交 → 等待 ≤5s
5. `browser_snapshot`
- 提交按钮**不应**持续 disabled/loading >10s(对应 E2E-PUSH-002
- 进度区域或 toast 出现
6. 写报告;若 PASS7 日内补 `frontend/e2e/flows/push-submit.spec.mjs`
## 4. MCP-SRV-002 — 无 CSV 导出
1. `#/servers``browser_snapshot`
2. 全文搜索「导出」「CSV」→ 不得出现可点击导出按钮
3. 对应 E2E-SRV-002
## 5. MCP-ALT-001 / MCP-AUD-001 — 北京时间
1. 分别打开 `#/alerts``#/audit`
2. `browser_snapshot` 表格时间列
3. 期望:`YYYY-MM-DD HH:mm` 或带 `CST`/`北京时间` 语义;**不应**出现未格式化的 ISO `T...Z` 裸串
4.`UT-TIME-001` 一致
## 6. MCP-SCH-001 — 调度周期文案
1. `#/schedules` → 新建调度
2. `browser_snapshot` 周期/开始执行相关 label
3.`docs/changelog/2026-06-08-schedule-form-start-cycle-only.md` 一致
## 7. MCP-EXEC-001 — 执行看板
1. `#/executions`
2. 若有行,`browser_click` 展开首行
3. `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;仅用于部署后探索与用例发现。