Status: ready-for-dev
作为测试开发者, 我想要运行订单管理测试并收集反馈, 以便发现潜在问题并改进测试或工具。
Given 所有订单管理测试用例已编写 When 运行完整的订单管理 E2E 测试套件 Then 记录所有问题(失败的测试、错误消息、使用体验) Then 分类问题:业务逻辑 bug vs 测试代码问题 vs 工具不足 And 整理成问题清单 And 识别是否需要扩展 e2e-test-utils 工具包
关注点:
pnpm test:e2e:chromium order- 运行所有订单测试Epic 10: 订单管理 E2E 测试 (Epic C - 业务测试 Epic)
当前 Epic 10 状态:
从 Story 10.1-10.11 学到的经验:
Page Object 设计模式 (10.1):
orderManagementPage 提供完整的订单管理操作方法createOrder() 创建订单openDetailDialog() 查看订单详情closeDetailDialog() 关闭订单详情对话框创建订单测试 (10.4):
编辑订单测试 (10.5):
editOrder() 方法编辑订单状态流转测试 (10.7):
activateOrder() 激活订单(草稿 → 已确认)closeOrder() 关闭订单(已确认 → 已完成)人员关联测试 (10.9):
createDisabledPersonViaAPI()addPersonToOrder() 添加人员到订单附件管理测试 (10.10):
openAddAttachmentDialog() 打开附件上传对话框uploadAttachment() 上传附件完整流程测试 (10.11):
已知问题和修复:
Page Object Bug 修复:
getPersonListFromDetail() 方法closeUploadDialog() 方法getOrderStatus() 方法中的 statusValue is not defined 错误confirmActivate() 方法中的 networkidle 超时问题代码审查问题修复:
现有订单管理测试文件:
web/tests/e2e/specs/admin/
├── order-list.spec.ts # 订单列表查看测试
├── order-filter.spec.ts # 订单搜索和筛选测试
├── order-create.spec.ts # 创建订单测试
├── order-edit.spec.ts # 编辑订单测试
├── order-delete.spec.ts # 删除订单测试
├── order-status.spec.ts # 订单状态流转测试
├── order-detail.spec.ts # 订单详情查看测试
├── order-person.spec.ts # 人员关联功能测试
├── order-attachment.spec.ts # 附件管理测试
├── order-complete.spec.ts # 订单完整流程测试
└── order-config-validation.spec.ts # 配置数据验证测试(Story 11.9)
Page Object 文件:
web/tests/e2e/pages/admin/
└── order-management.page.ts # 订单管理 Page Object
运行所有订单管理测试:
cd web && pnpm test:e2e:chromium order-
运行单个测试文件:
cd web && pnpm test:e2e:chromium order-complete
快速失败模式(调试用):
# 60秒后中断
timeout 60 pnpm test:e2e:chromium order-
分类维度:
业务逻辑 Bug (Product Bug)
测试代码问题 (Test Code Issue)
工具不足 (Tool Limitation)
性能问题 (Performance Issue)
稳定性问题 (Stability Issue)
Select 工具评估:
表单工具评估:
fillComplexForm() 工具?状态流转工具评估:
transitionOrderStatus() 工具?附件工具评估:
attachAssetToOrder() 工具?错误消息评估:
为每个发现的问题使用以下模板:
### 问题编号: ST10-12-001
**严重程度**: CRITICAL | HIGH | MEDIUM | LOW
**分类**: 业务逻辑 Bug | 测试代码问题 | 工具不足 | 性能问题 | 稳定性问题
**标题**: 简短的问题描述
**复现步骤**:
1. 步骤 1
2. 步骤 2
3. 步骤 3
**预期结果**: 描述期望的结果
**实际结果**: 描述实际发生的结果
**错误信息**: ```
错误消息或堆栈信息
影响范围: 哪些测试受影响
修复建议: 提供修复方案建议
相关文件: 涉及的文件路径
### Story 10.13 决策依据
**本 Story 完成后需要回答的关键问题:**
1. **是否需要扩展 Select 工具?**
- 如果发现级联选择器问题 → 需要扩展
- 如果异步加载等待不足 → 需要优化
- 如果错误消息不清晰 → 需要改进
2. **是否需要实现复杂表单工具?**
- 如果表单填写代码重复度高 → 需要 `fillComplexForm()`
- 如果多步骤表单操作复杂 → 需要封装
3. **是否需要实现状态流转工具?**
- 如果状态操作代码重复 → 需要 `transitionOrderStatus()`
- 如果状态验证不方便 → 需要改进
4. **是否需要实现附件工具?**
- 如果附件操作不稳定 → 需要改进 `attachAssetToOrder()`
- 如果 fixtures 管理不方便 → 需要封装
**决策:**
- 如果发现 3 个以上工具扩展需求 → 执行 Story 10.13
- 如果发现 1-2 个小问题 → 在本 Story 中直接修复
- 如果无工具扩展需求 → 标记 Story 10.13 为 N/A,直接进入 Story 10.14
### Project Structure Notes
**测试文件位置:**
web/tests/e2e/ ├── pages/admin/ │ └── order-management.page.ts # Page Object ├── specs/admin/ │ └── order-*.spec.ts # 所有订单测试文件 └── fixtures/
├── images/ # 测试图片
└── documents/ # 测试文档
```
本 Story 完成后的影响:
Epic 需求来源:
Page Object 实现:
前序 Story 学习:
项目上下文:
类似 Story 参考模式:
待开发时记录
待开发时记录
待开发时记录
待开发时记录