- 添加 target/ 到 .gitignore - 从 git 暂存区移除已追踪的 target 目录 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
216 lines
6.7 KiB
Markdown
216 lines
6.7 KiB
Markdown
# 超管端 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
|
||
```
|