# 备课模块(lesson-preparation)Web 测试报告 v1 > 测试日期:2026-06-22 19:57:34 > 模块:备课 (lesson-preparation) > Base URL:http://localhost:3000 > 测试方式:Playwright 自动化测试 --- ## 一、测试概览 | 指标 | 数值 | |------|------| | 测试角色总数 | 4 | | 通过 | 2 | | 失败 | 0 | | 警告 | 2 | ### 测试覆盖范围 - **角色覆盖**:admin / teacher / student / parent - **路由覆盖**:`/teacher/lesson-plans`(列表)、`/teacher/lesson-plans/new`(新建)、`/teacher/lesson-plans/[planId]/edit`(编辑) - **功能覆盖**:列表查看、模板选择、新建课案、节点图画布、侧边面板、版本历史、复制、归档 - **权限测试**:student/parent 应被拒绝访问 `/teacher/*` 路由 --- ## 二、角色访问权限测试 | 角色 | 登录 | 列表页 | 新建页 | 备注 | |------|------|--------|--------|------| | admin | ✅ | ✅ | ✅ | 只读访问 | | teacher | ✅ | ⚠️ | ✅ | 完整功能 | | student | ✅ | ✅ | ❓ | 应被拒绝(重定向到自己的 dashboard) | | parent | ✅ | ⚠️ | ❓ | 应被拒绝(重定向到自己的 dashboard) | --- ## 三、教师完整功能测试详情 | 功能 | 状态 | 检查项数 | 通过数 | 错误 | |------|------|----------|--------|------| | 列表页 | ✅ | 4 | 4 | - | | 新建课案 | ✅ | 3 | 3 | - | | 编辑器 | ✅ | 6 | 5 | - | | 节点选中与侧边面板 | ✅ | 1 | 1 | - | | 版本历史 | ✅ | 1 | 0 | - | | 复制与归档 | ✅ | 4 | 3 | - | ### 详细检查项 #### 列表页 - **状态**:passed - **检查项**: - ✅ 页面标题包含'备课'/'Lesson Plan'(body 长度 380020) - ✅ 存在'新建课案'按钮(找到 1 个) - ✅ 存在筛选器(找到 4 个 input/select) - ✅ 课案卡片或空状态(找到 12 个课案链接) #### 新建课案 - **状态**:passed - **检查项**: - ✅ 存在模板选择按钮(找到 11 个按钮) - ✅ 模板选中状态可视化(选中 5 个) - ✅ 创建后跳转到编辑页(planId=gpqmy3bpyts1lpnhomibnzr2) #### 编辑器 - **状态**:passed - **检查项**: - ❌ 标题输入框存在且有值(标题='') - ✅ React Flow 节点渲染(渲染 8 个节点) - ✅ React Flow 边渲染(渲染 7 条边) - ✅ 存在保存版本按钮(找到 1 个) - ✅ 存在版本历史按钮(找到 2 个) - ✅ 存在添加节点按钮(找到 1 个) #### 节点选中与侧边面板 - **状态**:passed - **检查项**: - ✅ 点击节点后出现侧边面板(找到编辑元素: True) #### 版本历史 - **状态**:passed - **检查项**: - ❌ 版本历史抽屉打开(找到 0 个 dialog/drawer) #### 复制与归档 - **状态**:passed - **检查项**: - ✅ 列表页存在课案卡片(找到 13 个) - ✅ 存在复制按钮(找到 12 个) - ✅ 存在归档按钮(找到 12 个) - ❌ 复制后课案数量增加(复制前 13 → 复制后 13) --- ## 四、控制台错误汇总 共收集到 2 条控制台错误: - `A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used: - A server/client bran` - `A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used: - A server/client bran` --- ## 五、测试截图 截图保存在 `webtest/screenshots/lesson-preparation/` 目录下: - `access_admin_list.png` - `access_admin_new.png` - `access_teacher_list.png` - `access_teacher_new.png` - `access_student_list.png` - `access_parent_list.png` - `teacher_feature_list.png` - `teacher_feature_create.png` - `teacher_feature_editor.png` - `teacher_feature_panel.png` - `teacher_feature_versions.png` - `teacher_feature_duplicate.png` --- ## 六、测试结论 ⚠️ **测试通过但有 2 个警告**。建议检查警告项。 --- ## 七、附录:测试账号 | 角色 | 邮箱 | 预期路径 | |------|------|----------| | admin | admin@xiaoxue.edu.cn | /admin/dashboard | | teacher | t_chinese_1@xiaoxue.edu.cn | /teacher/dashboard | | student | student_g1c1_1@xiaoxue.edu.cn | /student/dashboard | | parent | parent_g1c1_1@xiaoxue.edu.cn | /parent/dashboard |