- 添加 target/ 到 .gitignore - 从 git 暂存区移除已追踪的 target 目录 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
136 lines
3.7 KiB
Markdown
136 lines
3.7 KiB
Markdown
# 超管端 E2E 测试实施记录 - 2026-03-13
|
||
|
||
## 实施状态
|
||
|
||
### 已完成的工作 ✅
|
||
|
||
1. **测试文件创建** ✅
|
||
- 创建了完整的测试目录结构 `tests/e2e/admin/`
|
||
- 创建了 11 个测试文件,包含 79 个测试用例
|
||
|
||
2. **测试工具文件** ✅
|
||
- `fixtures.ts` - 测试数据和常量
|
||
- `helpers.ts` - 通用工具函数(登录、退出、等待等)
|
||
|
||
3. **测试用例覆盖** ✅
|
||
| 模块 | 文件 | 用例数 | 状态 |
|
||
|------|------|--------|------|
|
||
| 登录流程 | 01-login.spec.ts | 5 | ✅ 完成 |
|
||
| 数据看板 | 02-dashboard.spec.ts | 7 | ✅ 完成 |
|
||
| 课程包管理 | 03-courses.spec.ts | 12 | ✅ 完成 |
|
||
| 套餐管理 | 04-packages.spec.ts | 7 | ✅ 完成 |
|
||
| 主题字典 | 05-themes.spec.ts | 7 | ✅ 完成 |
|
||
| 租户管理 | 06-tenants.spec.ts | 15 | ✅ 完成 |
|
||
| 资源库 | 07-resources.spec.ts | 9 | ✅ 完成 |
|
||
| 系统设置 | 08-settings.spec.ts | 12 | ✅ 完成 |
|
||
| 退出登录 | 99-logout.spec.ts | 4 | ✅ 完成 |
|
||
| 完整流程 | admin-full-flow.spec.ts | 1 | ✅ 完成 |
|
||
|
||
4. **配置文件更新** ✅
|
||
- `playwright.config.ts` - 配置使用系统 Chrome 浏览器
|
||
- `fixtures.ts` - 修正密码为 `123456`
|
||
|
||
5. **文档创建** ✅
|
||
- `docs/test-logs/admin/2026-03-13-admin-e2e-test.md` - 测试记录
|
||
- `docs/dev-logs/2026-03-13-admin-e2e-tests.md` - 开发日志
|
||
- `docs/CHANGELOG.md` - 更新变更日志
|
||
|
||
6. **后端代码修复** ✅
|
||
- 修复 `SecurityConfig.java` 中的 API 路径:`/api/auth/**` → `/api/v1/auth/**`
|
||
|
||
### 遇到的问题 ⚠️
|
||
|
||
1. **浏览器配置问题** - 已解决
|
||
- 初始使用 `executablePath` 配置不生效
|
||
- 改用 `channel: 'chrome'` 方式解决
|
||
|
||
2. **登录页面选择器问题** - 已解决
|
||
- 页面中有多个"超管"文本元素
|
||
- 使用 `.role-btn` CSS 选择器精确定位
|
||
|
||
3. **后端 Security 配置问题** - 已修复
|
||
- API 路径不匹配:`/api/auth/**` → `/api/v1/auth/**`
|
||
|
||
4. **数据库连接问题** - 未解决
|
||
- 远程数据库 (8.148.151.56) 连接不稳定
|
||
- Flyway 迁移历史中有失败的记录
|
||
- 需要清理 `flyway_schema_history` 表后重新启动
|
||
|
||
## 执行命令
|
||
|
||
```bash
|
||
cd reading-platform-frontend
|
||
|
||
# 运行所有超管端测试
|
||
npm run test:e2e:headed -- --project=chromium tests/e2e/admin/
|
||
|
||
# 运行单个测试文件
|
||
npm run test:e2e:headed -- tests/e2e/admin/01-login.spec.ts
|
||
|
||
# 运行完整流程测试
|
||
npm run test:e2e:headed -- tests/e2e/admin/admin-full-flow.spec.ts
|
||
|
||
# 无头模式(CI/CD)
|
||
npm run test:e2e -- --project=chromium tests/e2e/admin/
|
||
```
|
||
|
||
## 待解决问题
|
||
|
||
### 后端问题
|
||
|
||
1. **Flyway 迁移失败**
|
||
```sql
|
||
USE reading_platform;
|
||
DROP TABLE IF EXISTS flyway_schema_history;
|
||
```
|
||
|
||
2. **数据库密码确认**
|
||
- 当前配置:`reading_platform_pwd`
|
||
- 需要确认正确的数据库密码
|
||
|
||
3. **后端启动命令**
|
||
```bash
|
||
cd reading-platform-java
|
||
export JAVA_HOME="/f/Java/jdk-17"
|
||
mvn spring-boot:run -Dspring-boot.run.profiles=dev
|
||
```
|
||
|
||
### 前端问题
|
||
|
||
1. **前端服务启动**
|
||
```bash
|
||
cd reading-platform-frontend
|
||
npm run dev
|
||
```
|
||
|
||
## 后续步骤
|
||
|
||
1. 解决数据库连接问题
|
||
2. 清理 Flyway 迁移历史
|
||
3. 重启后端服务
|
||
4. 启动前端服务
|
||
5. 运行 E2E 测试
|
||
|
||
## 测试文件列表
|
||
|
||
```
|
||
reading-platform-frontend/tests/e2e/admin/
|
||
├── fixtures.ts
|
||
├── helpers.ts
|
||
├── 01-login.spec.ts
|
||
├── 02-dashboard.spec.ts
|
||
├── 03-courses.spec.ts
|
||
├── 04-packages.spec.ts
|
||
├── 05-themes.spec.ts
|
||
├── 06-tenants.spec.ts
|
||
├── 07-resources.spec.ts
|
||
├── 08-settings.spec.ts
|
||
├── 99-logout.spec.ts
|
||
└── admin-full-flow.spec.ts
|
||
```
|
||
|
||
---
|
||
|
||
**记录时间**: 2026-03-13
|
||
**状态**: 测试文件已完成,等待后端服务恢复后执行测试
|