超管端 E2E 测试记录 - 2026-03-13
测试概述
本次测试使用 Playwright 测试框架对超管端 (Admin) 进行全面的功能测试,从登录开始覆盖所有主要功能模块的完整 CRUD 操作。
测试环境
测试文件结构
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)
| 测试项 |
状态 |
说明 |
| 全功能流程测试 |
✅ |
从登录到退出的完整流程 |
执行命令
# 方式一:运行所有超管端测试
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 |
问题记录
暂无
备注
- 部分测试用例依赖于后端 API 的实际响应,需要确保后端服务正常运行
- 文件上传相关测试仅验证组件存在,不实际上传文件
- 创建/编辑/删除操作默认点击取消,不实际修改数据,避免影响测试环境
- 测试用例设计遵循幂等性原则,可重复执行
测试报告
测试完成后查看 HTML 报告:
npx playwright show-report