kindergarten_java/docs/test-logs/admin/2026-03-16-course-package-test-progress.md
En 938503f2b8 chore: 更新启动脚本使用 Java (Spring Boot) 后端
- 修改后端目录从 reading-platform-backend 改为 reading-platform-java
- 修改后端端口从 3000 改为 8080
- 修改启动命令从 npm run start:dev 改为 mvn spring-boot:run
- 添加 JAVA_HOME 自动检测和设置(默认使用 /f/Java/jdk-17)
- 修改日志文件从 reading-platform-backend.log 改为 reading-platform-java.log
- 修改健康检查接口为 /actuator/health
- 增加启动等待超时时间到 60 秒(Java 启动较慢)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 10:35:30 +08:00

122 lines
3.8 KiB
Markdown
Raw Permalink 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-16 03:00
## 当前状态
**总计**: 5 个测试用例
**通过**: 2 个 ✅ (40%)
**失败**: 3 个 ❌ (60%)
## 通过的测试 ✅
1. **必填项验证:未填必填项时无法进入下一步**
- 验证逻辑正常工作
2. **部分填写验证:只填部分必填项时无法进入下一步**
- 验证逻辑正常工作
## 失败的测试 ❌
### 1. 完整流程:填写所有 7 个步骤创建课程包
- **失败原因**: 步骤 5 集体课的"课程时长"输入框找不到
- **错误**: `locator.fill: Test timeout of 180000ms exceeded`
- **问题**: 集体课配置面板可能没有正确显示
- **分析**:
- 点击"创建集体课"按钮后LessonConfigPanel 应该显示
- 但输入框可能在一个需要滚动或等待的区域内
- 可能需要等待组件完全渲染
### 2. 最小化流程:只填写必填项创建课程包
- **失败原因**: 课程列表表格等待超时
- **错误**: `locator.waitFor: Timeout 15000ms exceeded`
- **日志**: "未检测到成功提示,检查页面跳转..."
- **分析**:
- 课程创建可能成功了(页面跳转了)
- 但表格元素存在但隐藏(`ant-table-empty`
- 可能是表格内容为空导致显示问题
### 3. 数据验证:创建后查看详情数据完整
- **失败原因**: 步骤 7 环创建设的 textarea 不可见
- **错误**: `locator.scrollIntoViewIfNeeded: element is not visible`
- **分析**:
- textarea 存在但不可见
- 可能是在另一个 tab 页或未激活的区域
- 需要先切换到对应的视图
## 已尝试的修复
1. ✅ 修复了按钮选择器("新建课程包"、"创建"
2. ✅ 修复了步骤 2 课程介绍的 textarea 选择器
3. ✅ 增加了 waitForTable 的超时时间
4. ✅ 添加了页面加载状态检测
5. ✅ 改进了成功提示检测逻辑
6. ✅ 添加了 scrollIntoViewIfNeeded 用于元素可见性
## 待解决的问题
### 问题 1: 集体课配置面板显示
需要确认点击"创建集体课"按钮后LessonConfigPanel 是否正确渲染。
**可能原因**:
- 组件内部状态未正确设置
- 需要等待异步操作完成
- 可能需要先填写课程包名称才能创建集体课
### 问题 2: 课程创建后的列表显示
课程创建成功但列表显示为空。
**可能原因**:
- 后端 API 返回空列表
- 前端分页逻辑问题
- 表格渲染需要额外等待
### 问题 3: 环创建设 textarea 可见性
步骤 7 的 textarea 不可见。
**可能原因**:
- 组件使用了 tabs 或其他隐藏机制
- 需要滚动或聚焦才能显示
- 可能是 CSS 样式问题
## 下一步行动
### 高优先级
1. **手动验证课程创建流程**
- 在浏览器中手动完成整个流程
- 确认每个步骤的 UI 行为
- 记录实际的元素状态
2. **简化测试用例**
- 先跳过复杂步骤(集体课、环创建设)
- 确保基本流程能工作
- 逐步添加复杂步骤
3. **改进元素等待策略**
- 使用 Playwright 的自动等待
- 添加更明确的元素状态检测
- 考虑使用 `waitForLoadState('networkidle')`
### 中优先级
4. **检查后端 API**
- 确认课程创建接口正常工作
- 检查返回数据格式
- 验证数据库是否正确保存
5. **添加调试日志**
- 记录每个步骤的执行状态
- 截图保存关键节点
- 使用 `console.log` 输出页面状态
## 测试文件
- 测试脚本:`reading-platform-frontend/tests/e2e/admin/course-package-comprehensive.spec.ts`
- 辅助函数:`reading-platform-frontend/tests/e2e/admin/helpers.ts`
- 测试报告:`reading-platform-frontend/playwright-report/index.html`
## 相关文档
- [测试计划](./2026-03-16-course-package-test-plan.md)
- [测试总结](./2026-03-16-course-package-test-summary.md)