- 添加 target/ 到 .gitignore - 从 git 暂存区移除已追踪的 target 目录 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5.4 KiB
5.4 KiB
学校端 E2E 测试报告
测试日期: 2026-03-14 测试环境: Chrome 浏览器(有头模式) 测试框架: Playwright Test
测试结果汇总
| 测试模块 | 通过 | 失败 | 跳过 | 总计 |
|---|---|---|---|---|
| 登录流程 | 4 | 1 | 0 | 5 |
| 仪表盘 | 6 | 0 | 0 | 6 |
| 班级管理 | 5 | 1 | 0 | 6 |
| 学生管理 | 0 | 6 | 0 | 6 |
| 教师管理 | 0 | 6 | 0 | 6 |
| 家长管理 | 0 | 6 | 0 | 6 |
| 校本课程包 | 0 | 7 | 0 | 7 |
| 任务管理 | 0 | 6 | 0 | 6 |
| 成长记录 | 0 | 6 | 0 | 6 |
| 通知管理 | 0 | 6 | 0 | 6 |
| 系统设置 | 0 | 6 | 0 | 6 |
| 退出登录 | 0 | 6 | 0 | 6 |
| 完整流程 | 0 | 1 | 0 | 1 |
| 总计 | 15 | 61 | 0 | 76 |
通过的测试用例
✅ 登录流程 (4/5)
- 学校端登录成功
- 记住登录状态
- 错误密码登录失败
- 账号不存在登录失败
✅ 仪表盘功能 (6/6)
- 验证仪表盘页面加载
- 验证统计数据卡片显示
- 验证快捷操作入口
- 验证最近活动或通知
- 验证侧边栏导航菜单
- 验证用户信息区域显示
- 截图保存仪表盘状态
✅ 班级管理 (5/6)
- 测试 1: 访问班级管理页面
- 测试 3: 查看班级详情
- 测试 4: 编辑班级
- 测试 5: 班级筛选功能
- 测试 6: 删除班级
失败的测试用例
❌ 登录流程 (1 失败)
- 验证跳转到正确的仪表盘页面 - URL 验证超时,实际已跳转到学校端但路径验证失败
❌ 班级管理 (1 失败)
- 测试 2: 创建班级 - 选择年级下拉框超时,页面元素定位失败
❌ 学生管理 (6 失败)
- 所有测试失败,原因:菜单文本不匹配(使用了"幼儿管理"而非实际的"学生管理")
❌ 其他模块 (54 失败)
- 教师管理、家长管理、校本课程包、任务管理、成长记录、通知管理、系统设置、退出登录、完整流程
- 主要原因:前置测试失败导致后续测试无法执行,以及菜单文本不匹配
问题分析
1. 菜单文本不匹配
实际菜单结构与测试假设不符:
| 测试假设 | 实际菜单文本 |
|---|---|
| 幼儿管理 | 学生管理 |
| 任务管理 | 阅读任务 |
| 成长记录 | 成长档案 |
| 课程管理 | 课程管理 (正确) |
| 通知管理 | 无此菜单项 |
实际菜单结构(学校端 LayoutView.vue):
- 人员管理(二级菜单)
- 教师管理
- 学生管理
- 家长管理
- 班级管理
- 教学管理(二级菜单)
- 课程管理
- 校本课程包
- 课程排期
- 阅读任务
- 任务模板
- 课程反馈
- 数据中心(二级菜单)
- 数据报告
- 成长档案
- 系统管理(二级菜单)
- 套餐管理
- 操作日志
- 系统设置
2. 二级菜单需要先展开
测试需要先点击一级菜单(如"人员管理")展开后,才能点击二级菜单项。
3. URL 验证过于严格
登录后的 URL 验证使用了严格的路径匹配,但实际路由可能有所不同。
修复进度
已修复
- ✅ 学校端登录 helpers.ts - 放宽 URL 验证
- ✅ 登录测试 01-login.spec.ts - 使用正确的页面元素验证
- ✅ 仪表盘测试 02-dashboard.spec.ts - 使用正确的标题验证
- ✅ 学生管理 04-students.spec.ts - 更新菜单文本为"人员管理" → "学生管理"
待修复
- ❌ 班级管理 03-classes.spec.ts - 修复年级选择器定位
- ❌ 教师管理 05-teachers.spec.ts - 更新菜单文本
- ❌ 家长管理 06-parents.spec.ts - 更新菜单文本
- ❌ 校本课程包 07-school-courses.spec.ts - 更新菜单文本
- ❌ 任务管理 08-tasks.spec.ts - 更新菜单文本为"教学管理" → "阅读任务"
- ❌ 成长记录 09-growth.spec.ts - 更新菜单文本为"数据中心" → "成长档案"
- ❌ 通知管理 10-notifications.spec.ts - 该功能菜单项不存在
- ❌ 系统设置 11-settings.spec.ts - 更新菜单文本
- ❌ 退出登录 99-logout.spec.ts - 修复登录依赖
- ❌ 完整流程 school-full-flow.spec.ts - 修复所有菜单文本
测试截图位置
所有测试截图保存在以下目录:
reading-platform-frontend/test-results/
├── school-01-login-学校端登录流程/
│ └── *.png (测试失败截图)
├── school-02-dashboard-学校端仪表盘功能/
│ └── *.png (测试截图)
├── school-03-classes-学校端班级管理功能/
│ └── *.png (测试失败截图)
└── ...
下一步行动
- 更新所有测试文件的菜单文本 - 使用正确的菜单名称
- 添加二级菜单展开逻辑 - 在点击二级菜单前先展开一级菜单
- 移除不存在的功能测试 - 如"通知管理"
- 修复元素定位问题 - 使用更稳定的选择器
- 重新运行完整测试套件 - 验证所有修复
测试命令
# 运行所有学校端测试(有头模式)
cd reading-platform-frontend
npx playwright test tests/e2e/school/ --headed
# 运行单个测试文件
npx playwright test tests/e2e/school/01-login.spec.ts --headed
# 无头模式(CI 环境)
npx playwright test tests/e2e/school/
# 生成 HTML 报告
npx playwright test tests/e2e/school/ --reporter=html
npx playwright show-report
测试账号
| 角色 | 账号 | 密码 |
|---|---|---|
| 学校端 | school1 | 123456 |
报告生成时间: 2026-03-14