Files
Nexus/docs/testing/mcp-browser-playbook.md
T
Nexus Agent 0f6f91e61a fix(api): align alerts/commands contracts and ship full-site test suite.
Restore alert history filters and stats fields, paginate command/session logs for the SPA, show script labels on schedules, and land integration/E2E coverage with rebuilt web assets.
2026-06-09 02:13:13 +08:00

102 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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;仅用于部署后探索与用例发现。