Files
Nexus/docs/changelog/2026-06-08-playwright-e2e-35-green.md
T
2026-07-08 22:31:31 +08:00

43 lines
1.6 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.
# Changelog — Playwright E2E 35/35 + worker 会话复用
**日期**: 2026-06-08
## 摘要
修复并行 E2E 登录锁号与 SPA 导航不稳定,全量 **35 passed / 0 failed**
## 动机
- 35 个 Playwright 用例并行跑时每个都走 UI 登录,触发 `login_attempts` 锁定(429)。
- Refresh token 轮换后静态 `storageState` 文件失效,后续用例落在 `#/login``#/`
- Hash-only `page.goto` 与 Vue keep-alive 组合下,部分用例无法离开仪表盘。
## 涉及文件
| 路径 | 变更 |
|------|------|
| `frontend/e2e/fixtures.mjs` | 新增:worker 级 API 登录 + 上下文结束写回 cookie |
| `frontend/e2e/helpers.mjs` | `login` 仅恢复会话;`nav` 侧栏点击导航 |
| `frontend/e2e/pages/*.spec.mjs` | 认证用例改 import `fixtures.mjs`auth/login 空 `storageState` |
| `frontend/e2e/pages/credentials.spec.mjs` | 凭据对话框经「凭据」按钮打开 |
| `frontend/e2e/full-acceptance.spec.mjs` | 凭据/命令日志选择器对齐 |
| `frontend/playwright.config.mjs` | 移除全局 `storageState`(改由 fixture |
| `.gitignore` | 忽略 `frontend/e2e/.auth/` |
| `docs/reports/2026-06-08-playwright-e2e-full-run.md` | 35/35 证据 |
## 迁移 / 重启
- 无需 DB 迁移。
- E2E 前若 admin 已锁定,需清理 `login_attempts` 或等待 15 分钟。
- 改前端后需 `cd frontend && npx vite build` 再跑 E2E(测的是 `web/app/`)。
## 验证
```bash
cd frontend && NEXUS_E2E_BASE=http://127.0.0.1:8600 NEXUS_E2E_PASSWORD=*** npm run test:e2e
# → 35 passed
.venv/bin/pytest tests/integration tests/chain -q
# → 27 passed
```