# 超管端 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 ```