0f6f91e61a
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.
54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
# Playwright 全量 E2E — 本地验证报告
|
||
|
||
**日期**: 2026-06-08
|
||
**环境**: `http://127.0.0.1:8600` · admin + `NEXUS_E2E_PASSWORD` · Chromium headless
|
||
|
||
## 结果(最终)
|
||
|
||
```bash
|
||
cd frontend && npx playwright install chromium # 首次
|
||
NEXUS_E2E_BASE=http://127.0.0.1:8600 \
|
||
NEXUS_E2E_USER=admin \
|
||
NEXUS_E2E_PASSWORD=*** \
|
||
npm run test:e2e
|
||
```
|
||
|
||
| 指标 | 值 |
|
||
|------|-----|
|
||
| 合计 | **35** |
|
||
| 通过 | **35** |
|
||
| 失败 | 0 |
|
||
| 跳过 | 0 |
|
||
| 耗时 | ~35s |
|
||
|
||
### 复验(清理后 · 2026-06-08)
|
||
|
||
| 套件 | 结果 |
|
||
|------|------|
|
||
| `pytest tests/integration tests/chain` | **27 passed** |
|
||
| `pytest tests/ -m "not chain and not slow"` | **427 passed** |
|
||
| `pytest tests/ -m slow` | **1 passed**(IT-INST-001) |
|
||
| `scripts/local_integration_smoke.sh` | **OK** |
|
||
| `npm run test:e2e` | **35 passed** (~35s) |
|
||
|
||
前置:`bash scripts/start-dev.sh`(API :8600 healthy)
|
||
|
||
## 根因与修复(本轮)
|
||
|
||
| 问题 | 处理 |
|
||
|------|------|
|
||
| 并行 UI 登录触发 admin 锁定(429) | `e2e/fixtures.mjs`:每 worker 一次 API 登录 + 轮换后更新 `storageState` |
|
||
| `page.goto(#/route)` 在 keep-alive SPA 下偶发停在 `#/` | `helpers.nav` 改为侧栏链接点击;设置页点抽屉「设置」 |
|
||
| 凭据入口改为服务器页对话框 | `credentials` / acceptance #08 点「凭据」按钮,不再依赖 `?credentials=1` |
|
||
| `getByText('命令日志')` strict 双匹配 | 限定 `main .v-card-title` |
|
||
| `web/app` 构建滞后(旧 bundle 含「导出CSV」) | `npx vite build` 同步源码与静态资源 |
|
||
|
||
## Spec 目录(19 文件)
|
||
|
||
- `full-acceptance.spec.mjs`(15 步 serial)
|
||
- `pages/*.spec.mjs`(18 页域用例 + install/login/auth 无会话)
|
||
|
||
## 结论
|
||
|
||
**Wave 1–5 测试矩阵对应的 Playwright 全量 35/35 green**,可与 `tests/integration` + `tests/chain`(27 passed)一并作为 L4 证据。
|