SOP-101:政策标签创建 E2E 测试
支持复制到 Excel 的标准 SOP 模板;每个
任务(Task ID)表示一个可打卡的子文档,便于人工/机器按照序号完成并记录进度。
文档元数据
- 文档类型:SOP / Checklist
- 适用场景:
http://localhost:3000/crm/order订单管理界面 + 政策标签创建流程 - 创建者:QA / 自动化工程
- 最近更新时间:2025-12-22
- 相关接口定义:
core/openapi/crm.swagger.json中OrderService和PolicyLabelService模块
业务说明
政策标签创建方式:政策标签通过订单中的政策类产品来创建。当订单中包含服务类型为"政策"的产品时,提交订单后系统会自动创建政策标签并触发相应的审批工作流。
关键概念: - 政策产品:产品/服务中服务类型为"政策"的产品(如:全国-自运营政策、全国-代运营政策等) - 政策标签:订单中政策产品的实例,需要经过审批流程才能生效 - 审批流程:部门审批 → 经理审批 → 总监审批 → 抄送 → 财务审批 → 生效
前置条件
| 条件 | 检查方式 |
|---|---|
本地或测试环境可访问 http://localhost:3000/crm/order |
浏览器打开,页面未返回 500/404 |
| 已使用有订单权限的用户登录 | 登录接口/前端登录流程成功,能加载左侧导航 |
| 测试客户准备就绪 | 确认客户列表中存在可用的测试客户 |
| 政策产品已配置 | 产品/服务中存在可用的政策类产品 |
| 审批人配置完整 | 部门负责人、经理、总监、财务等审批人账号可用 |
任务矩阵(Excel Checklist 行模板)
每个任务独立一个表格,依次执行并记录状态;状态列可直接粘贴到 Excel 以打勾 [ ] → [x]。
任务 T1:环境与账号验证
入口:http://localhost:3000/crm/order
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:打开浏览器 | — | 浏览器启动成功 | 浏览器窗口打开 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:输入 URL | http://localhost:3000/crm/order |
页面开始加载 | 地址栏显示正确 URL | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:登录 | 账号/密码 | 登录成功,跳转到主页 | 左侧导航栏显示 | 屏幕截图、浏览器日志 | [ ] |
步骤 4 |
| 步骤4:导航到「订单」 | 点击左侧「订单」菜单或直接访问订单页面 | 页面成功加载、显示订单列表表格、无 500 错误 | UI:存在标题「订单列表」、表格;Console:无错误 | 屏幕截图、浏览器日志 | [ ] |
T2 |

图:订单列表页面,显示未提交订单、正式订单、批量订单三个选项卡
任务 T2:创建订单并选择客户
前置条件:T1 成功且当前在订单列表页面
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:点击「创建订单」按钮 | — | 弹出创建订单对话框 | 对话框显示,标题为「创建订单」 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:选择客户 | 客户下拉框选择测试客户(如:测试5) | 客户成功选择,客户资料自动填充 | 下拉框显示所选客户,客户资料区域显示客户简称、负责人、联系电话等信息 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:选择销售 | 销售下拉框选择销售人员 | 销售成功选择 | 下拉框显示所选销售 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:选择部门 | 部门下拉框选择部门 | 部门成功选择 | 下拉框显示所选部门 | 屏幕截图 | [ ] |
T3 |

图:创建订单表单,显示选择客户、销售、部门以及客户资料自动填充

图:已选择客户的订单表单,客户资料已自动填充
任务 T3:添加政策产品
前置条件:T2 成功,订单表单已填写基本信息
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:点击「+ 添加产品」按钮 | — | 弹出添加产品对话框 | 对话框显示,标题为「添加产品」,显示产品分类和产品列表 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:浏览政策产品分类 | 查看产品分类:2024年头条政策、2024年腾讯政策、2024年快手政策Q1、其他 | 产品分类正确显示 | 产品分类列表显示,可点击展开 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:选择政策产品 | 勾选政策产品复选框(如:CP20241208-0044 全国-自运营政策) | 产品复选框被勾选 | 复选框显示为选中状态 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:点击「确认」按钮 | — | 弹出产品配置对话框 | 对话框显示产品名称、折扣率滑块、备注输入框 | 屏幕截图 | [ ] |
步骤 5 |
| 步骤5:设置折扣率 | 使用滑块调整折扣率(如:2.5%) | 折扣率成功设置 | 滑块位置和数值显示正确 | 屏幕截图 | [ ] |
步骤 6 |
| 步骤6:填写备注(可选) | 备注:测试政策标签创建 | 备注成功填写 | 输入框显示备注内容 | 屏幕截图 | [ ] |
步骤 7 |
| 步骤7:点击「添加」按钮 | — | 产品添加到订单产品列表,对话框关闭 | 订单表单中的产品列表显示新添加的产品,服务类型显示为「政策」(蓝色标签) | 屏幕截图 | [ ] |
T4 |

图:添加产品对话框,显示政策产品分类和产品列表

图:选中政策产品后的状态

图:产品配置对话框,设置折扣率和备注
政策产品类型说明:
| 产品类型 | 服务类型标签 | 说明 |
|---|---|---|
| 政策产品 | 政策(蓝色) | 用于创建政策标签,提交后触发审批流程 |
| 普通服务 | 服务(绿色) | 普通服务产品,不触发政策审批流程 |
任务 T4:确认产品并提交订单
前置条件:T3 成功,政策产品已添加到订单
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:验证产品列表 | 查看订单表单中的产品列表 | 产品列表显示已添加的政策产品,服务类型为「政策」(蓝色标签) | 产品列表中存在政策产品,服务类型标签正确 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:记录产品信息 | 记录产品 ID、名称、折扣率等信息 | 信息已记录 | 笔记/剪贴板 | 文本记录 | [ ] |
步骤 3 |
| 步骤3:上传打款证明(可选) | 上传打款证明截图 | 图片成功上传 | 预览区域显示上传的图片 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:上传合同(可选) | 上传合同 PDF 文件 | 合同成功上传 | 上传区域显示文件名 | 屏幕截图 | [ ] |
步骤 5 |
| 步骤5:点击「提交订单」按钮 | — | 订单提交成功,对话框关闭,订单列表刷新 | 显示成功提示,订单列表中出现新订单 | 截图 + 系统提示 | [ ] |
T5 |

图:产品已添加到订单,显示服务类型为"政策"的蓝色标签
任务 T5:验证政策标签创建
前置条件:T4 成功,订单已提交
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:查看订单详情 | 点击订单列表中的订单编号 | 显示订单详情页面 | 订单详情页面加载,显示订单信息和产品列表 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:确认政策标签状态 | 查看订单中政策产品的状态 | 政策标签状态为「待审批」或「审批中」 | 产品列表中政策产品显示相应状态 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:导航到工作流模块 | 点击左侧「工作流」菜单 | 显示工作流列表 | 工作流列表页面加载 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:查找政策标签工作流 | 搜索或筛选最新的政策标签工作流 | 找到对应的政策标签审批流程 | 工作流列表中显示相关流程,状态为「进行中」 | 屏幕截图 | [ ] |
T6 |
任务 T6:政策标签审批流程(示例)
前置条件:T5 成功,政策标签工作流已创建
注意:此任务展示审批流程的示例步骤。实际审批流程可能因配置而异,具体流程参见工作流配置文件
policy_label_create_prod.yaml。
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:部门领导审批 | 登录部门领导账号,查看待办,点击「批准」 | 审批成功,流程进入下一环节 | 显示成功提示,流程状态更新 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:经理审批 | 登录经理账号,查看待办,点击「批准」 | 审批成功,流程进入下一环节 | 显示成功提示,流程状态更新 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:总监审批 | 登录总监账号,查看待办,点击「批准」 | 审批成功,流程进入下一环节 | 显示成功提示,流程状态更新 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:财务审批 | 登录财务账号,查看待办,点击「批准」 | 审批成功,流程完成,政策标签生效 | 显示成功提示,流程状态变为「已完成」 | 屏幕截图 | [ ] |
T7 |
任务 T7:验证政策标签生效
前置条件:T6 成功,审批流程已完成
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:查看工作流详情 | 打开工作流详情页面 | 工作流状态为「已完成」 | 工作流详情页面显示完整审批链路 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:查看订单状态 | 返回订单详情页面 | 订单中政策产品状态更新为「已生效」 | 产品列表中政策产品显示「已生效」状态 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:验证政策标签可用 | 在系统中查找该政策标签 | 政策标签在系统中可用,可以应用到相关业务 | 政策标签列表显示新创建的标签 | 屏幕截图 | [ ] |
— |
API 参考(必须遵循的接口)
| 接口 | 方法 | 说明 | 关键字段 & 数据格式 |
|---|---|---|---|
/api/v1/orders |
POST |
创建订单 | body 需要 coreCreateOrderRequest 定义,包含:- customerId(integer):客户 ID- sellerId(integer):销售 ID- departmentId(integer):部门 ID- orderItems(array):订单项列表,每项包含:- productId(integer):产品 ID- quantity(integer):数量- discountRate(number):折扣率- remark(string):备注 |
/api/v1/orders/{orderId} |
GET |
获取订单详情 | 通过订单 ID 获取完整订单信息,包含订单项、政策标签状态等 |
/api/v1/orders |
GET |
订单列表 | 可通过 filters、pageSize、pageNumber 查询订单列表 |
/api/v1/products |
GET |
产品列表 | 获取可用产品列表,可通过 type 参数筛选政策产品(type=policy) |
/api/v1/policy-labels |
GET |
政策标签列表 | 获取政策标签列表,可通过 orderId 查询指定订单的政策标签 |
/api/v1/workflows |
GET |
工作流列表 | 获取工作流列表,可通过 type 参数筛选政策标签审批流程 |
参见完整定义:
core/openapi/crm.swagger.json中definitions下相关定义
订单对象字段说明(coreOrder)
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | integer | 否(自动生成) | 订单 ID |
| no | string | 否(自动生成) | 订单编号(如 DD20251221-0001) |
| customerId | integer | 是 | 客户 ID |
| sellerId | integer | 是 | 销售 ID |
| departmentId | integer | 是 | 部门 ID |
| orderItems | array | 是 | 订单项列表 |
| totalAmount | number | 否(自动计算) | 订单总金额 |
| status | string | 否(自动设置) | 订单状态 |
订单项字段说明(coreOrderItem)
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | integer | 否(自动生成) | 订单项 ID |
| orderId | integer | 否(自动关联) | 订单 ID |
| productId | integer | 是 | 产品 ID |
| productName | string | 否(自动填充) | 产品名称 |
| productType | string | 否(自动填充) | 产品类型(service/policy) |
| quantity | integer | 是 | 数量(默认 1) |
| discountRate | number | 否 | 折扣率(百分比) |
| remark | string | 否 | 备注 |
| policyLabelId | integer | 否(政策产品自动生成) | 关联的政策标签 ID |
进度采集模板(机器辅助/人手填报)
| Task ID | Status | Evidence | Operator | Timestamp | Notes |
|---|---|---|---|---|---|
| T1 | [ ] / [x] |
screen-T1.png |
qa-bot |
2025-12-22T09:00:00 |
"登录成功" |
| T2 | [ ] / [x] |
screen-T2.png |
qa-zhang |
2025-12-22T09:03:00 |
"客户已选择" |
| T3 | [ ] / [x] |
screen-T3.png |
qa-zhang |
2025-12-22T09:05:00 |
"政策产品已添加" |
| T4 | [ ] / [x] |
screen-T4.png |
qa-zhang |
2025-12-22T09:06:00 |
"订单已提交" |
| T5 | [ ] / [x] |
screen-T5.png |
qa-bot |
2025-12-22T09:08:00 |
"政策标签已创建" |
| T6 | [ ] / [x] |
screen-T6.png |
qa-zhang |
2025-12-22T09:15:00 |
"审批流程完成" |
| T7 | [ ] / [x] |
screen-T7.png |
qa-bot |
2025-12-22T09:20:00 |
"政策标签已生效" |
Tip:监控系统可定时读取
Task ID+Status列;每次status变更都写入对应Evidence和Timestamp以供追踪。
异常与恢复
- 页面未加载:确认后端服务运行
gateway+core;查看浏览器Console、Network500/401;记录Request ID并换账号重试。 - 创建订单失败:记录 toast 错误、截图,检查客户、销售、部门是否正确选择;查看 API 响应错误信息。
- 产品列表为空:确认产品/服务模块中存在可用的政策产品;检查产品配置和状态。
- 政策产品无法添加:检查产品的服务类型是否为"政策";确认产品状态为"启用"。
- 订单提交后无工作流:检查政策产品配置是否正确;确认工作流配置文件
policy_label_create_prod.yaml是否正确部署。 - 审批流程异常:检查审批人账号和权限;查看工作流日志和错误信息。
测试数据示例
成功案例
创建订单请求:
{
"order": {
"customerId": 123,
"sellerId": 456,
"departmentId": 789,
"orderItems": [
{
"productId": 1043,
"quantity": 1,
"discountRate": 2.5,
"remark": "测试政策标签创建"
}
]
}
}
预期响应:
{
"id": 12345,
"no": "DD20251222-0001",
"customerId": 123,
"sellerId": 456,
"departmentId": 789,
"orderItems": [
{
"id": 54321,
"productId": 1043,
"productName": "全国-自运营政策",
"productType": "policy",
"quantity": 1,
"discountRate": 2.5,
"remark": "测试政策标签创建",
"policyLabelId": 67890
}
],
"status": "submitted"
}
失败案例
案例一:缺少必填字段
{
"order": {
"customerId": 123
}
}
预期:API 返回 400 错误,提示缺少必填字段 sellerId 和 departmentId。
案例二:产品不存在
{
"order": {
"customerId": 123,
"sellerId": 456,
"departmentId": 789,
"orderItems": [
{
"productId": 99999,
"quantity": 1
}
]
}
}
预期:API 返回 404 错误,提示产品不存在。
附录:Checklist 导出格式
Task ID,Task Name,Status,Evidence,Operator,Notes
T1,环境与账号验证,[ ],screen-T1.png,qa-bot,"login ok"
T2,创建订单并选择客户,[ ],screen-T2.png,qa-bot,"customer selected"
T3,添加政策产品,[ ],screen-T3.png,qa-zhang,"policy product added"
T4,确认产品并提交订单,[ ],screen-T4.png,qa-zhang,"order submitted"
T5,验证政策标签创建,[ ],screen-T5.png,qa-bot,"policy label created"
T6,政策标签审批流程,[ ],screen-T6.png,qa-zhang,"approval completed"
T7,验证政策标签生效,[ ],screen-T7.png,qa-bot,"policy label activated"
直接复制上述 CSV/Excel 内容可实现标准化追踪。
相关文档
- CRM 操作手册 - 订单模块
- 客户创建 E2E SOP
- 工作流全流程调整
- API 文档
- 配置文件:
core/internal/workflow/policy_label_create_prod.yaml