采购流程端到端测试报告

采购流程端到端测试报告

时间: 2026-06-18 08:17 ~ 08:25 (Asia/Shanghai)

测试人: Agent


测试环境

  • 服务: BossAgents (端口 3006)
  • 仓库: D:\openclaw\bossagents
  • 最新提交: 5e3c9dd (数字员工验证) + 本地未提交修改(ai-agent.js L1.5直通、intent-engine.js _extractParams重写)
  • 服务状态: ✅ 正常运行

测试1:ai-agent API → procurement_workflow 工具调用

请求: POST /api/ai-agent/chat → "采购10台伺服电机,预算90000,15天内交货"

结果: ✅ L3意图匹配 → {type: 'tool_call', tool_name: 'procurement_workflow', auto_execute: true}

请求: POST /api/ai-agent/execute{toolName: 'procurement_workflow', params: {product:'伺服电机', quantity:10, budget:90000}}

结果: ✅ 工作流 proc_mqir6xlr_7wdv 创建,状态 running

分步状态:

| 步骤 | 描述 | 状态 |

|------|------|------|

| Step1 | 搜索供应商(SCSAI 42家) | ✅ 成功 |

| Step2 | 发询价邮件(2/3成功) | ✅ 成功 |

| Step3 | 收集报价(3份模板报价) | ✅ 成功 (wait_timeout=10s → 模板) |

| Step4 | LLM比价报告(1078 chars) | ✅ 成功 |

| Step5 | 推送比价报告到tuan_zhang1976@qq.com | ✅ 成功 |

confirm_key: proc_mqir7cri

确认测试:

确认方式状态结果
boss_confirm_procurement 工具PO-42067237 已发送,总金额 ¥82,800
重复确认返回"未找到对应的采购申请"
工作流最终状态completed, step6, PO number 记录

测试2:数字员工快捷路径 → POST /api/digital-staff/run

请求: {message: '采购20台电机测试', staffId: 'DS-PROC-001'}

结果: ✅ 返回 {type: 'confirm'} 包含 resumeId、question、options

确认交互:

  • resumeId: resume_1781742193720_fxc3ge
  • question: 产品/数量/预算/供应商列表确认
  • options: [发送询价, 取消]

恢复测试: POST /api/digital-staff/resume

  • 第一次(参数名不匹配: resumeId+action → 400 BadRequest)
  • 第二次(参数正确: staffId+resumeId+choice='confirm' → 连接关闭但执行成功)
  • 确认队列: 完成后 count=0,表明已成功处理

测试总结

✅ 通过的路径:

  1. Webchat输入框 → ai-agent/chat → L3 LLM → procurement_workflow 工具 → boss_confirm_procurement 确认 → PO生成(完整流程已验证)
  2. ai-agent/execute 直接调用 procurement_workflow → 同上(已验证)
  3. 数字员工 run → lite-scheduler → DS-PROC-001 worker → confirm交互 → resume 恢复(已验证)
  4. boss_confirm_procurement 确认工具(已验证:PO-42067237 ¥82,800)

未测试/待确认:

  1. 邮件回复确认 — 代码中未见 confirm_key 匹配逻辑,email-service.js 未集成 procurement 确认监听
  2. 超时自动批准 — ai-agent.js 未实现超时自动确认机制,global._pendingProcurements 永久保留
  3. Webchat前端自动渲染 — 需在浏览器中实际测试 auto_execute 流程的UI反馈
  4. 飞书端路径 — 未测试(依赖飞书轮询 + 卡片推送)

已知限制:

  • 产品名乱码: 测试中显示 ???? × 10(中文编码问题)
  • 供应商邮箱不全: 42家中仅3家有有效email
  • 报价为模板数据: wait_timeout=10秒自动使用模板报价
  • resume POST 需传递 staffId+resumeId+choice 三个参数

结论:采购全链路核心功能正常。快捷按钮路径需要前端展示confirm交互,邮件确认和超时批准两个机制待实现。

← 返回案例列表
分享:
🤖 Try Now →
🤖
🎁