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

192 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 学校端 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. **重新运行完整测试套件** - 验证所有修复
---
## 测试命令
```bash
# 运行所有学校端测试(有头模式)
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