kindergarten_java/docs/test-logs/school/2026-03-14-school-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

5.4 KiB
Raw Blame History

学校端 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 验证使用了严格的路径匹配,但实际路由可能有所不同。


修复进度

已修复

  1. 学校端登录 helpers.ts - 放宽 URL 验证
  2. 登录测试 01-login.spec.ts - 使用正确的页面元素验证
  3. 仪表盘测试 02-dashboard.spec.ts - 使用正确的标题验证
  4. 学生管理 04-students.spec.ts - 更新菜单文本为"人员管理" → "学生管理"

待修复

  1. 班级管理 03-classes.spec.ts - 修复年级选择器定位
  2. 教师管理 05-teachers.spec.ts - 更新菜单文本
  3. 家长管理 06-parents.spec.ts - 更新菜单文本
  4. 校本课程包 07-school-courses.spec.ts - 更新菜单文本
  5. 任务管理 08-tasks.spec.ts - 更新菜单文本为"教学管理" → "阅读任务"
  6. 成长记录 09-growth.spec.ts - 更新菜单文本为"数据中心" → "成长档案"
  7. 通知管理 10-notifications.spec.ts - 该功能菜单项不存在
  8. 系统设置 11-settings.spec.ts - 更新菜单文本
  9. 退出登录 99-logout.spec.ts - 修复登录依赖
  10. 完整流程 school-full-flow.spec.ts - 修复所有菜单文本

测试截图位置

所有测试截图保存在以下目录:

reading-platform-frontend/test-results/
├── school-01-login-学校端登录流程/
│   └── *.png (测试失败截图)
├── school-02-dashboard-学校端仪表盘功能/
│   └── *.png (测试截图)
├── school-03-classes-学校端班级管理功能/
│   └── *.png (测试失败截图)
└── ...

下一步行动

  1. 更新所有测试文件的菜单文本 - 使用正确的菜单名称
  2. 添加二级菜单展开逻辑 - 在点击二级菜单前先展开一级菜单
  3. 移除不存在的功能测试 - 如"通知管理"
  4. 修复元素定位问题 - 使用更稳定的选择器
  5. 重新运行完整测试套件 - 验证所有修复

测试命令

# 运行所有学校端测试(有头模式)
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