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
|
|||
|
|
**状态**: 测试文件已完成,等待后端服务恢复后执行测试
|