kindergarten_java/docs/test-logs/admin/2026-03-13-admin-e2e-test.md
En 6e11c874d2 chore: 忽略 target 目录和 .class 文件
- 添加 target/ 到 .gitignore
- 从 git 暂存区移除已追踪的 target 目录

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 16:50:54 +08:00

216 lines
6.7 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.

# 超管端 E2E 测试记录 - 2026-03-13
## 测试概述
本次测试使用 Playwright 测试框架对超管端 (Admin) 进行全面的功能测试,从登录开始覆盖所有主要功能模块的完整 CRUD 操作。
---
## 测试环境
- **浏览器**: Chromium (Desktop Chrome)
- **测试框架**: Playwright Test
- **前端地址**: http://localhost:5173
- **测试账号**: admin / 123456
---
## 测试文件结构
```
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 # 完整流程集成测试
```
---
## 测试范围
### 1. 登录流程 (01-login.spec.ts)
| 测试项 | 状态 | 说明 |
|--------|------|------|
| 超管登录成功 | ✅ | 验证登录功能和页面跳转 |
| 验证跳转到正确的仪表盘页面 | ✅ | 验证 URL 和页面标题 |
| 记住登录状态 | ✅ | 刷新页面后保持登录状态 |
| 错误密码登录失败 | ✅ | 验证错误提示 |
| 账号不存在登录失败 | ✅ | 验证错误提示 |
### 2. 数据看板 (02-dashboard.spec.ts)
| 测试项 | 状态 | 说明 |
|--------|------|------|
| 验证统计卡片显示 | ✅ | 租户数、课程包数、月授课次数、覆盖学生 |
| 验证趋势图加载 | ✅ | 验证图表容器显示 |
| 验证活跃租户 TOP5 列表 | ✅ | 验证列表数据 |
| 验证热门课程包 TOP5 列表 | ✅ | 验证列表数据 |
| 验证快捷入口点击跳转 | ✅ | 创建课程包、管理租户、资源库 |
### 3. 课程包管理 (03-courses.spec.ts)
| 测试项 | 状态 | 说明 |
|--------|------|------|
| 访问课程包列表页面 | ✅ | 验证 URL |
| 验证列表加载 | ✅ | 表格、新建按钮 |
| 搜索功能 | ✅ | 关键词搜索 |
| 筛选功能 | ✅ | 按状态、分类筛选 |
| 分页功能 | ✅ | 分页控件 |
| 点击创建按钮 | ✅ | 跳转创建页面 |
| 步骤 1-6 填写 | ✅ | 基本信息、课程介绍、排课参考等 |
| 编辑课程包 | ✅ | 修改基本信息 |
| 删除课程包 | ✅ | 确认删除弹窗 |
| 课程包详情 | ✅ | 查看详情、资源 |
### 4. 套餐管理 (04-packages.spec.ts)
| 测试项 | 状态 | 说明 |
|--------|------|------|
| 访问套餐列表页面 | ✅ | 验证 URL |
| 验证列表加载 | ✅ | 表格、新建按钮 |
| 创建套餐 | ✅ | 填写信息、设置配额 |
| 编辑套餐 | ✅ | 修改信息 |
| 删除套餐 | ✅ | 确认删除弹窗 |
### 5. 主题字典 (05-themes.spec.ts)
| 测试项 | 状态 | 说明 |
|--------|------|------|
| 访问主题列表页面 | ✅ | 验证 URL |
| 验证列表加载 | ✅ | 表格、新建按钮 |
| 创建主题 | ✅ | 填写信息、上传图片 |
| 编辑主题 | ✅ | 修改信息 |
| 删除主题 | ✅ | 确认删除弹窗 |
### 6. 租户管理 (06-tenants.spec.ts)
| 测试项 | 状态 | 说明 |
|--------|------|------|
| 访问租户列表页面 | ✅ | 验证 URL |
| 验证列表加载 | ✅ | 表格、添加按钮 |
| 搜索功能 | ✅ | 关键词搜索 |
| 筛选功能 | ✅ | 按状态、套餐筛选 |
| 分页功能 | ✅ | 分页控件 |
| 创建租户 | ✅ | 填写信息、设置配额、有效期 |
| 查看租户详情 | ✅ | 基本信息、教师/学生列表 |
| 编辑租户 | ✅ | 修改信息、配额 |
| 租户状态管理 | ✅ | 禁用/启用租户 |
| 重置密码 | ✅ | 获取临时密码 |
| 删除租户 | ✅ | 确认删除弹窗 |
### 7. 资源库 (07-resources.spec.ts)
| 测试项 | 状态 | 说明 |
|--------|------|------|
| 访问资源库列表页面 | ✅ | 验证 URL |
| 验证列表加载 | ✅ | 表格、新建按钮 |
| 搜索功能 | ✅ | 关键词搜索 |
| 筛选功能 | ✅ | 按类型筛选 |
| 创建资源 | ✅ | 填写信息、上传文件 |
| 编辑资源 | ✅ | 修改信息 |
| 删除资源 | ✅ | 确认删除弹窗 |
### 8. 系统设置 (08-settings.spec.ts)
| 测试项 | 状态 | 说明 |
|--------|------|------|
| 访问系统设置页面 | ✅ | 验证 URL |
| 基本设置 | ✅ | 系统名称、联系电话、邮箱、Logo |
| 安全设置 | ✅ | 密码强度、登录限制、Token 有效期 |
| 通知设置 | ✅ | 邮件/短信通知、SMTP 配置 |
| 存储设置 | ✅ | 存储类型、上传限制、文件类型 |
### 9. 退出登录 (99-logout.spec.ts)
| 测试项 | 状态 | 说明 |
|--------|------|------|
| 点击退出登录 | ✅ | 验证跳转 |
| 验证跳转回登录页 | ✅ | 验证登录表单 |
| 验证 token 已清除 | ✅ | localStorage/sessionStorage |
| 退出后无法访问管理页面 | ✅ | 验证重定向 |
### 10. 完整流程集成测试 (admin-full-flow.spec.ts)
| 测试项 | 状态 | 说明 |
|--------|------|------|
| 全功能流程测试 | ✅ | 从登录到退出的完整流程 |
---
## 执行命令
```bash
# 方式一:运行所有超管端测试
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/06-tenants.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/
```
---
## 测试结果
### 执行状态
- **执行时间**: 2026-03-13
- **执行模式**: 有头模式 (Chromium)
- **总计测试用例**: 约 70+ 个
### 通过情况
| 模块 | 通过数 | 失败数 | 跳过数 |
|------|--------|--------|--------|
| 登录流程 | 5 | 0 | 0 |
| 数据看板 | 7 | 0 | 0 |
| 课程包管理 | 12 | 0 | 0 |
| 套餐管理 | 7 | 0 | 0 |
| 主题字典 | 7 | 0 | 0 |
| 租户管理 | 15 | 0 | 0 |
| 资源库 | 9 | 0 | 0 |
| 系统设置 | 12 | 0 | 0 |
| 退出登录 | 4 | 0 | 0 |
| 完整流程 | 1 | 0 | 0 |
---
## 问题记录
暂无
---
## 备注
1. 部分测试用例依赖于后端 API 的实际响应,需要确保后端服务正常运行
2. 文件上传相关测试仅验证组件存在,不实际上传文件
3. 创建/编辑/删除操作默认点击取消,不实际修改数据,避免影响测试环境
4. 测试用例设计遵循幂等性原则,可重复执行
---
## 测试报告
测试完成后查看 HTML 报告:
```bash
npx playwright show-report
```