#!/bin/bash # Coze API 测试脚本 # 使用食谱计算器后端接口开发文档中的测试用例数据 # 配置 BASE_URL="http://localhost:20822" WORKFLOW_ID="1180790412263" # 从 application-sophia.yml 中获取 echo "==========================================" echo "Coze API 测试脚本" echo "==========================================" echo "" # 检查服务是否运行 echo "1. 检查服务状态..." HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" "${BASE_URL}/" 2>&1) if [ "$HTTP_CODE" = "000" ]; then echo " ❌ 服务未启动 (端口 20822)" echo " 请先启动 crmeb-front 服务" echo "" echo " 启动命令: cd msh_crmeb_22 && ./mvnw spring-boot:run -pl crmeb-front" exit 1 else echo " ✓ 服务已启动" fi echo "" # 测试用例 TC01: 男性透析患者计算 echo "2. 测试用例 TC01: 男性透析患者 - 执行工作流" echo " 输入数据: gender=male, age=55, height=170, dialysis=true, dryWeight=65.5, creatinine=850" echo "" # 工作流请求 echo " 发送请求..." RESPONSE=$(curl -s -X POST "${BASE_URL}/api/front/coze/workflow/run" \ -H "Content-Type: application/json" \ -d '{ "workflowId": "'${WORKFLOW_ID}'", "parameters": { "gender": "male", "age": 55, "height": 170, "dialysis": true, "dialysisType": "hemodialysis", "dryWeight": 65.5, "creatinine": 850 }, "isAsync": false }') echo " 响应结果:" echo "$RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE" echo "" # 测试用例 TC02: 女性非透析患者 echo "==========================================" echo "3. 测试用例 TC02: 女性非透析患者 - 执行工作流" echo " 输入数据: gender=female, age=48, height=160, dialysis=false, dryWeight=52, creatinine=180" echo "" RESPONSE=$(curl -s -X POST "${BASE_URL}/api/front/coze/workflow/run" \ -H "Content-Type: application/json" \ -d '{ "workflowId": "'${WORKFLOW_ID}'", "parameters": { "gender": "female", "age": 48, "height": 160, "dialysis": false, "dryWeight": 52, "creatinine": 180 }, "isAsync": false }') echo " 响应结果:" echo "$RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE" echo "" # 测试 Chat 接口 echo "==========================================" echo "4. 测试 Chat 接口 (非流式)" echo "" RESPONSE=$(curl -s -X POST "${BASE_URL}/api/front/coze/chat" \ -H "Content-Type: application/json" \ -d '{ "botId": "'${WORKFLOW_ID}'", "userId": "test_user_001", "stream": false, "additionalMessages": [ { "content": "请根据以下信息计算营养方案:男性,55岁,身高170cm,血透患者,干体重65.5kg,血肌酐850μmol/L" } ] }') echo " 响应结果:" echo "$RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE" echo "" echo "==========================================" echo "测试完成" echo "=========================================="