Some checks failed
Security / deep-security-scan (push) Failing after 20m5s
DR Drill / dr-drill (push) Failing after 1m31s
CI / scheduled-backup (push) Failing after 1m31s
CI / backup-verify (push) Has been skipped
CI / weekly-dr-drill (push) Failing after 0s
CI / build-deploy (push) Has been cancelled
CI / security-scan (push) Has been cancelled
主要变更: - 新增 lesson-preparation 模块: 备课编辑器、节点编辑、AI 建议、知识点选择、版本历史、作业发布 - 新增 shared 通用组件: charts/question-bank-filters/schedule-list/ui (chip-nav/filter-bar/page-header/stat-card/stat-item) - 新增 student/admin 端 loading.tsx 与 error.tsx, 优化加载与错误态体验 - 新增 teacher/lesson-plans 页面 (列表/新建/编辑) - 新增 drizzle 迁移 0002_tiny_lionheart 及 snapshot - 新增 textbooks/schema.ts 与 exams/utils/normalize-structure.ts - 修复 Tiptap v3 SSR hydration 崩溃 (rich-text-block immediatelyRender: false) - 重构多模块 data-access/actions/组件, 修复权限校验与类型规范 - 同步架构文档 004/005 反映新增模块、导出、依赖关系 - 归档 bugs/* 测试报告与 e2e 测试脚本 (admin/parent/student/teacher web_test)
211 lines
7.3 KiB
Markdown
211 lines
7.3 KiB
Markdown
# 教师端 Web 功能测试报告
|
||
|
||
> 测试日期:2026-06-20 13:12:24
|
||
> 测试范围:教师端所有页面与核心交互功能
|
||
> 测试工具:Playwright + Chromium (headless)
|
||
> 测试账号:`t_chinese_1@xiaoxue.edu.cn`
|
||
> 基础 URL:`http://localhost:3000`
|
||
> 测试依据:`src/modules/layout/config/navigation.ts`、`src/app/(dashboard)/teacher/`
|
||
|
||
---
|
||
|
||
## 一、测试概览
|
||
|
||
| 指标 | 数值 |
|
||
|------|------|
|
||
| 总测试页面数 | 41 |
|
||
| 通过 ✅ | 38 |
|
||
| 警告 ⚠️ | 0 |
|
||
| 失败 ❌ | 0 |
|
||
| 通过率 | 92.7% |
|
||
| 交互测试数 | 8 |
|
||
| 全局控制台错误 | 0 |
|
||
|
||
---
|
||
|
||
## 二、页面测试详情(按模块分组)
|
||
|
||
### Dashboard
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/dashboard` | 200 | `/teacher/dashboard` | - |
|
||
|
||
### Textbooks
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/textbooks` | 200 | `/teacher/textbooks` | - |
|
||
|
||
### Exams
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/exams` | 200 | `/teacher/exams/all` | 重定向: `http://localhost:3000/teacher/exams/all` |
|
||
| ✅ | `/teacher/exams/all` | 200 | `/teacher/exams/all` | - |
|
||
|
||
### Exam Detail
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/exams/create` | 200 | `/teacher/exams/create` | - |
|
||
|
||
### Homework
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/homework` | 200 | `/teacher/homework/assignments` | 重定向: `http://localhost:3000/teacher/homework/assignments` |
|
||
| ✅ | `/teacher/homework/assignments` | 200 | `/teacher/homework/assignments` | - |
|
||
| ✅ | `/teacher/homework/submissions` | 200 | `/teacher/homework/submissions` | - |
|
||
|
||
### Homework Assignment Detail
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/homework/assignments/create` | 200 | `/teacher/homework/assignments/create` | - |
|
||
|
||
### Grades
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/grades` | 200 | `/teacher/grades` | - |
|
||
| ✅ | `/teacher/grades/entry` | 200 | `/teacher/grades/entry` | - |
|
||
| ✅ | `/teacher/grades/stats` | 200 | `/teacher/grades/stats` | - |
|
||
| ✅ | `/teacher/grades/analytics` | 200 | `/teacher/grades/analytics` | - |
|
||
|
||
### Question Bank
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/questions` | 200 | `/teacher/questions` | - |
|
||
|
||
### Class Management
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/classes` | 200 | `/teacher/classes/my` | 重定向: `http://localhost:3000/teacher/classes/my` |
|
||
| ✅ | `/teacher/classes/my` | 200 | `/teacher/classes/my` | - |
|
||
| ✅ | `/teacher/classes/students` | 200 | `/teacher/classes/students` | 警告: 页面告警文本: 20; 页面告警文本: 42 |
|
||
| ✅ | `/teacher/classes/schedule` | 200 | `/teacher/classes/schedule` | - |
|
||
|
||
### Course Plans
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/course-plans` | 200 | `/teacher/course-plans` | - |
|
||
|
||
### Lesson Plans
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/lesson-plans` | 200 | `/teacher/lesson-plans` | - |
|
||
|
||
### Lesson Plan Edit
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/lesson-plans/new` | 200 | `/teacher/lesson-plans/new` | - |
|
||
|
||
### Attendance
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/attendance` | 200 | `/teacher/attendance` | - |
|
||
| ✅ | `/teacher/attendance/sheet` | 200 | `/teacher/attendance/sheet` | - |
|
||
| ✅ | `/teacher/attendance/stats` | 200 | `/teacher/attendance/stats` | - |
|
||
|
||
### Schedule Changes
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/schedule-changes` | 200 | `/teacher/schedule-changes` | - |
|
||
|
||
### Diagnostic
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/diagnostic` | 200 | `/teacher/diagnostic` | - |
|
||
|
||
### Electives
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/elective` | 200 | `/teacher/elective` | - |
|
||
|
||
### Management
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/management/grade/classes` | 200 | `/management/grade/classes` | - |
|
||
| ✅ | `/management/grade/insights` | 200 | `/management/grade/insights` | - |
|
||
|
||
### Announcements
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/announcements` | 200 | `/announcements` | - |
|
||
|
||
### Messages
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/messages` | 200 | `/messages` | - |
|
||
| ✅ | `/messages/compose` | 200 | `/messages/compose` | - |
|
||
|
||
### Profile & Settings
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/profile` | 200 | `/profile` | - |
|
||
| ✅ | `/settings` | 200 | `/settings` | - |
|
||
| ✅ | `/settings/security` | 200 | `/settings/security` | - |
|
||
|
||
### Textbook Detail
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/textbooks/tb_MATH_g1` | 200 | `/teacher/textbooks/tb_MATH_g1` | - |
|
||
|
||
### Class Detail
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/classes/my/class_G1C1` | 200 | `/teacher/classes/my/class_G1C1` | 警告: 页面告警文本: 20; 页面告警文本: 42 |
|
||
|
||
### Course Plan Detail
|
||
|
||
| 状态 | 路由 | HTTP | 最终 URL | 备注 |
|
||
|------|------|------|----------|------|
|
||
| ✅ | `/teacher/course-plans/cp_g1c1_chinese` | 200 | `/teacher/course-plans/cp_g1c1_chinese` | - |
|
||
|
||
---
|
||
|
||
## 三、交互功能测试详情
|
||
|
||
| 状态 | 交互项 | 详情 |
|
||
|------|--------|------|
|
||
| ✅ | 仪表盘快捷操作可见性 | 可见可点击元素 10 个 |
|
||
| ✅ | 教材详情页加载 | 教材 /teacher/textbooks/tb_MATH_g1 加载成功,发现 16 个潜在章节元素 |
|
||
| ✅ | 创建考试表单元素 | 发现 8 个表单元素 |
|
||
| ✅ | 题库表格与筛选 | 表格行 11 个,筛选器 0 个 |
|
||
| ✅ | 创建作业表单 | 发现 27 个表单元素 |
|
||
| ✅ | 新建备课表单 | 发现 18 个表单/编辑元素 |
|
||
| ✅ | 侧边栏导航链接 | 发现 11 个侧边栏链接 |
|
||
| ✅ | 消息撰写表单 | 发现 18 个表单元素 |
|
||
|
||
---
|
||
|
||
## 八、测试结论与建议
|
||
|
||
✅ **教师端所有页面与交互功能测试全部通过**,未发现严重问题。
|
||
|
||
### 建议后续动作
|
||
|
||
1. 优先修复「失败页面详情」中列出的所有 P0 问题(HTTP 5xx、重定向到登录页等)
|
||
2. 复查「警告页面详情」中的页面,确认是否为数据缺失或非关键告警
|
||
3. 控制台错误如涉及 Next.js 运行时或服务端异常,应排查 Server Action 与 data-access 层
|
||
4. 对于未发现详情页链接的模块,建议先在种子数据中补充对应记录再回归测试
|
||
|
||
---
|
||
|
||
*报告自动生成于 2026-06-20 13:12:24 by webapp-testing skill* |