Files
his/MD/test/03_test_api_comprehensive.sh
华佗 8c414a6a91 feat(test): 三甲医院全流程测试数据+测试流程文档+自动化测试脚本
- 01_test_data_fixed.sql: 31个模块测试数据(覆盖门诊/住院/药房/检验/影像/手术/麻醉/护理/院感/质控/中医/会诊/临床路径/危急值/DRG/EMPI/ESB等)
- 02_TEST_FLOWS.md: 30个业务流程图+API接口映射(含调用链路和测试数据)
- 03_test_api_comprehensive.sh: 自动化测试脚本(覆盖所有模块API接口)
2026-06-07 21:47:40 +08:00

514 lines
24 KiB
Bash
Executable File
Raw 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.

#!/bin/bash
# ============================================================
# HealthLink-HIS 三甲医院全流程自动化测试脚本
# 版本: v2.0
# 日期: 2026-06-07
# 说明: 覆盖所有业务模块的API接口测试
# ============================================================
BASE_URL="http://localhost:18082/healthlink-his"
REPORT_DIR="MD/test/reports"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
REPORT_FILE="${REPORT_DIR}/test_report_${TIMESTAMP}.md"
PASS_COUNT=0
FAIL_COUNT=0
TOTAL_COUNT=0
# 颜色输出
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
# 创建报告目录
mkdir -p "${REPORT_DIR}"
# 初始化报告
init_report() {
cat > "${REPORT_FILE}" << 'HEADER'
# HealthLink-HIS 三甲医院全流程测试报告
## 测试环境
- **后端**: http://localhost:18082/healthlink-his
- **数据库**: PostgreSQL 192.168.110.252:15432
- **测试时间**: TIMESTAMP_PLACEHOLDER
## 测试结果汇总
| 模块 | 测试用例数 | 通过数 | 失败数 | 通过率 |
|------|-----------|--------|--------|--------|
## 详细测试结果
HEADER
sed -i "s/TIMESTAMP_PLACEHOLDER/$(date '+%Y-%m-%d %H:%M:%S')/" "${REPORT_FILE}"
}
# 登录获取Token
login() {
echo -e "${YELLOW}>>> 登录系统...${NC}"
RESPONSE=$(curl -s -X POST "${BASE_URL}/login" \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123","tenantId":"1"}')
TOKEN=$(echo "$RESPONSE" | python3 -c "import sys,json; print(json.load(sys.stdin).get('token',''))" 2>/dev/null)
if [ -z "$TOKEN" ]; then
echo -e "${RED}❌ 登录失败!${NC}"
echo "响应: $RESPONSE"
return 1
fi
echo -e "${GREEN}✅ 登录成功Token获取完成${NC}"
return 0
}
# 测试API接口
test_api() {
local module="$1"
local step="$2"
local method="$3"
local endpoint="$4"
local data="$5"
local expected_code="$6"
local description="$7"
TOTAL_COUNT=$((TOTAL_COUNT + 1))
# 构建curl命令
local curl_cmd="curl -s -w '\n%{http_code}' -X ${method} '${BASE_URL}${endpoint}' -H 'Content-Type: application/json' -H 'Authorization: Bearer ${TOKEN}'"
if [ -n "$data" ] && [ "$data" != "null" ]; then
curl_cmd="${curl_cmd} -d '${data}'"
fi
# 执行请求
local response=$(eval "$curl_cmd" 2>/dev/null)
local http_code=$(echo "$response" | tail -1)
local body=$(echo "$response" | head -n -1)
# 检查结果
local status="❌ FAIL"
local color="${RED}"
if [ "$http_code" = "$expected_code" ]; then
# 额外检查业务逻辑如果返回200检查是否有有效数据
if [ "$http_code" = "200" ]; then
local has_data=$(echo "$body" | python3 -c "
import sys, json
try:
d = json.load(sys.stdin)
if 'rows' in d or 'data' in d or 'msg' in d or 'code' in d:
print('ok')
else:
print('no_data')
except:
print('error')
" 2>/dev/null)
if [ "$has_data" = "ok" ] || [ "$has_data" = "no_data" ]; then
status="✅ PASS"
color="${GREEN}"
PASS_COUNT=$((PASS_COUNT + 1))
else
status="⚠️ PARTIAL"
color="${YELLOW}"
PASS_COUNT=$((PASS_COUNT + 1))
fi
else
status="✅ PASS"
color="${GREEN}"
PASS_COUNT=$((PASS_COUNT + 1))
fi
else
FAIL_COUNT=$((FAIL_COUNT + 1))
fi
# 输出结果
echo -e "${color}${status}${NC} [${module}] ${step}: ${description}"
echo " 接口: ${method} ${endpoint}"
echo " 状态码: ${http_code} (预期: ${expected_code})"
# 写入报告
echo "| ${module} | ${step} | ${method} | ${endpoint} | ${http_code} | ${expected_code} | ${status} | ${description} |" >> "${REPORT_FILE}"
}
# ============================
# 测试模块1: 系统登录认证
# ============================
echo -e "\n${YELLOW}========== 模块1: 系统登录认证 ==========${NC}"
echo "### 模块1: 系统登录认证" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "认证" "1.1" "GET" "/captchaImage" "" "200" "获取验证码"
test_api "认证" "1.2" "POST" "/login" '{"username":"admin","password":"admin123","tenantId":"1"}' "200" "用户登录"
test_api "认证" "1.3" "GET" "/getInfo" "" "200" "获取用户信息"
test_api "认证" "1.4" "GET" "/getRouters" "" "200" "获取路由菜单"
test_api "认证" "1.5" "POST" "/logout" "" "200" "退出登录"
# 重新登录获取Token
login
# ============================
# 测试模块2: 门诊就诊流程
# ============================
echo -e "\n${YELLOW}========== 模块2: 门诊就诊流程 ==========${NC}"
echo "### 模块2: 门诊就诊流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "挂号" "2.1" "GET" "/charge-manage/register/init" "" "200" "挂号初始化"
test_api "挂号" "2.2" "GET" "/charge-manage/register/page?pageNum=1&pageSize=10" "" "200" "挂号列表查询"
test_api "挂号" "2.3" "GET" "/charge-manage/register/patient?searchKey=测试" "" "200" "查询患者信息"
test_api "医生站" "2.4" "GET" "/doctor-station/main/patient-list" "" "200" "待诊患者列表"
test_api "医生站" "2.5" "GET" "/doctor-station/advice/page?pageNum=1&pageSize=10" "" "200" "医嘱列表查询"
test_api "医生站" "2.6" "GET" "/doctor-station/diagnosis/page?pageNum=1&pageSize=10" "" "200" "诊断列表查询"
test_api "收费" "2.7" "GET" "/charge-manage/charge/init" "" "200" "收费初始化"
test_api "收费" "2.8" "GET" "/charge-manage/charge/page?pageNum=1&pageSize=10" "" "200" "收费记录查询"
test_api "收费" "2.9" "GET" "/charge-manage/refund/page?pageNum=1&pageSize=10" "" "200" "退费记录查询"
test_api "输液" "2.10" "GET" "/outpatient-manage/infusion/init" "" "200" "输液管理初始化"
test_api "输液" "2.11" "GET" "/outpatient-manage/infusion/infusion-patient-list" "" "200" "输液患者列表"
test_api "皮试" "2.12" "GET" "/outpatient-manage/skin-test/init" "" "200" "皮试管理初始化"
test_api "治疗" "2.13" "GET" "/outpatient-manage/treatment/page?pageNum=1&pageSize=10" "" "200" "治疗记录查询"
# ============================
# 测试模块3: 住院入院流程
# ============================
echo -e "\n${YELLOW}========== 模块3: 住院入院流程 ==========${NC}"
echo "### 模块3: 住院入院流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "入院" "3.1" "GET" "/inhospitalmanage/register/page?pageNum=1&pageSize=10" "" "200" "入院登记列表"
test_api "患者主页" "3.2" "GET" "/patient-home-manage/init" "" "200" "患者主页初始化"
test_api "患者主页" "3.3" "GET" "/patient-home-manage/empty-bed" "" "200" "空床查询"
test_api "押金" "3.4" "GET" "/deposit-manage/init" "" "200" "押金管理初始化"
test_api "押金" "3.5" "GET" "/deposit-manage/deposit-page?pageNum=1&pageSize=10" "" "200" "押金记录查询"
test_api "住院收费" "3.6" "GET" "/charge-manage/inpatient-charge/page?pageNum=1&pageSize=10" "" "200" "住院收费记录"
# ============================
# 测试模块4: 护理管理流程
# ============================
echo -e "\n${YELLOW}========== 模块4: 护理管理流程 ==========${NC}"
echo "### 模块4: 护理管理流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "护理评估" "4.1" "GET" "/nursing-assessment-enhanced/page?pageNum=1&pageSize=10" "" "200" "护理评估列表"
test_api "护理评估" "4.2" "GET" "/nursing-assessment-enhanced/stats" "" "200" "护理评估统计"
test_api "护理评估" "4.3" "POST" "/nursing-assessment-enhanced/braden/assess" '{"patientName":"测试患者甲","encounterId":"6006","itemScores":"{\"sensation\":2,\"moisture\":2,\"activity\":1,\"mobility\":2,\"nutrition\":3,\"friction\":2}","detail":"压疮高危患者"}' "200" "Braden压疮评估"
test_api "护理评估" "4.4" "POST" "/nursing-assessment-enhanced/morse/assess" '{"patientName":"测试患者乙","encounterId":"6007","itemScores":"{\"history\":15,\"diagnosis\":0,\"ambulation\":15,\"iv\":20,\"gait\":0,\"mental\":15}","detail":"跌倒高危患者"}' "200" "Morse跌倒评估"
test_api "护理记录" "4.5" "GET" "/nursing-record/patient-page?pageNum=1&pageSize=10" "" "200" "护理记录患者列表"
test_api "体征" "4.6" "GET" "/vital-signs/record-search" "" "200" "体征记录查询"
test_api "体征图表" "4.7" "GET" "/vital-signs-chart/page?pageNum=1&pageSize=10" "" "200" "体征图表查询"
test_api "护理执行" "4.8" "GET" "/nurse-station/advice-process/page?pageNum=1&pageSize=10" "" "200" "护理执行列表"
test_api "交接班" "4.9" "GET" "/nursing-handoff/page?pageNum=1&pageSize=10" "" "200" "交接班记录"
test_api "护理质量" "4.10" "GET" "/nursing-quality/page?pageNum=1&pageSize=10" "" "200" "护理质量指标"
# ============================
# 测试模块5: 检验检查流程
# ============================
echo -e "\n${YELLOW}========== 模块5: 检验检查流程 ==========${NC}"
echo "### 模块5: 检验检查流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "标本采集" "5.1" "GET" "/inspection/collection/page?pageNum=1&pageSize=10" "" "200" "标本采集列表"
test_api "检验观察" "5.2" "GET" "/inspection/observation/page?pageNum=1&pageSize=10" "" "200" "检验观察列表"
test_api "标本定义" "5.3" "GET" "/inspection/specimen/page?pageNum=1&pageSize=10" "" "200" "标本定义列表"
test_api "LIS配置" "5.4" "GET" "/inspection/lisConfig/page?pageNum=1&pageSize=10" "" "200" "LIS配置列表"
test_api "仪器管理" "5.5" "GET" "/inspection/instrument/page?pageNum=1&pageSize=10" "" "200" "仪器管理列表"
test_api "检验结果" "5.6" "GET" "/inspection/laboratory/page?pageNum=1&pageSize=10" "" "200" "检验结果列表"
test_api "参考范围" "5.7" "GET" "/lab-ref-range/page?pageNum=1&pageSize=10" "" "200" "参考范围列表"
test_api "检查申请" "5.8" "GET" "/check/examApply/page?pageNum=1&pageSize=10" "" "200" "检查申请列表"
# ============================
# 测试模块6: 影像检查流程
# ============================
echo -e "\n${YELLOW}========== 模块6: 影像检查流程 ==========${NC}"
echo "### 模块6: 影像检查流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "影像" "6.1" "GET" "/check/radiologyImage/page?pageNum=1&pageSize=10" "" "200" "影像列表查询"
test_api "影像增强" "6.2" "GET" "/check/radiologyEnhanced/page?pageNum=1&pageSize=10" "" "200" "影像增强列表"
test_api "影像对比" "6.3" "GET" "/check/radiologyComparison/page?pageNum=1&pageSize=10" "" "200" "影像对比列表"
test_api "3D重建" "6.4" "GET" "/reconstruction/3d/page?pageNum=1&pageSize=10" "" "200" "3D重建列表"
# ============================
# 测试模块7: 手术管理流程
# ============================
echo -e "\n${YELLOW}========== 模块7: 手术管理流程 ==========${NC}"
echo "### 模块7: 手术管理流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "手术" "7.1" "GET" "/clinical-manage/surgery/page?pageNum=1&pageSize=10" "" "200" "手术列表查询"
test_api "手术排程" "7.2" "GET" "/clinical-manage/surgery-schedule/page?pageNum=1&pageSize=10" "" "200" "手术排程列表"
test_api "术前讨论" "7.3" "GET" "/preopmanage/discussion/page?pageNum=1&pageSize=10" "" "200" "术前讨论列表"
test_api "安全核查" "7.4" "GET" "/surgery-safety-check/page?pageNum=1&pageSize=10" "" "200" "手术安全核查列表"
# ============================
# 测试模块8: 麻醉管理流程
# ============================
echo -e "\n${YELLOW}========== 模块8: 麻醉管理流程 ==========${NC}"
echo "### 模块8: 麻醉管理流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "麻醉" "8.1" "GET" "/api/v1/anesthesia/page?pageNum=1&pageSize=10" "" "200" "麻醉记录列表"
test_api "麻醉增强" "8.2" "GET" "/anesthesia-enhanced/page?pageNum=1&pageSize=10" "" "200" "麻醉增强列表"
test_api "麻醉质控" "8.3" "GET" "/anesthesia-quality-control/page?pageNum=1&pageSize=10" "" "200" "麻醉质控列表"
# ============================
# 测试模块9: 院感管理流程
# ============================
echo -e "\n${YELLOW}========== 模块9: 院感管理流程 ==========${NC}"
echo "### 模块9: 院感管理流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "院感监测" "9.1" "GET" "/infection-enhanced/surveillance/page?pageNum=1&pageSize=10" "" "200" "院感监测列表"
test_api "院感预警" "9.2" "GET" "/infection-enhanced/warning/page?pageNum=1&pageSize=10" "" "200" "院感预警列表"
test_api "耐药监测" "9.3" "GET" "/infection-enhanced/resistance/page?pageNum=1&pageSize=10" "" "200" "耐药监测列表"
test_api "职业暴露" "9.4" "GET" "/infection-enhanced/exposure/page?pageNum=1&pageSize=10" "" "200" "职业暴露列表"
test_api "手卫生" "9.5" "GET" "/infection-enhanced/hand-hygiene/page?pageNum=1&pageSize=10" "" "200" "手卫生列表"
test_api "环境监测" "9.6" "GET" "/infection-enhanced/environment/page?pageNum=1&pageSize=10" "" "200" "环境监测列表"
# ============================
# 测试模块10: 质量管理流程
# ============================
echo -e "\n${YELLOW}========== 模块10: 质量管理流程 ==========${NC}"
echo "### 模块10: 质量管理流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "运行质控" "10.1" "GET" "/quality-enhanced/runtime/page?pageNum=1&pageSize=10" "" "200" "运行质控列表"
test_api "终末质控" "10.2" "GET" "/api/v1/emr-quality/page?pageNum=1&pageSize=10" "" "200" "终末质控列表"
test_api "质量统计" "10.3" "GET" "/quality-enhanced/statistics/page?pageNum=1&pageSize=10" "" "200" "质量统计列表"
# ============================
# 测试模块11: 中医管理流程
# ============================
echo -e "\n${YELLOW}========== 模块11: 中医管理流程 ==========${NC}"
echo "### 模块11: 中医管理流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "中医体质" "11.1" "GET" "/api/v1/tcm/constitution/page?pageNum=1&pageSize=10" "" "200" "中医体质列表"
test_api "中医方剂" "11.2" "GET" "/api/v1/tcm/prescriptions?pageNum=1&pageSize=10" "" "200" "中医方剂列表"
test_api "中医统计" "11.3" "GET" "/api/v1/tcm/statistics" "" "200" "中医统计查询"
# ============================
# 测试模块12: 会诊管理流程
# ============================
echo -e "\n${YELLOW}========== 模块12: 会诊管理流程 ==========${NC}"
echo "### 模块12: 会诊管理流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "会诊" "12.1" "GET" "/consultation/page?pageNum=1&pageSize=10" "" "200" "会诊记录列表"
test_api "会诊反馈" "12.2" "GET" "/cross-module/consult-feedback/page?pageNum=1&pageSize=10" "" "200" "会诊反馈列表"
test_api "会诊超时" "12.3" "GET" "/cross-module/consulttimeout/page?pageNum=1&pageSize=10" "" "200" "会诊超时列表"
# ============================
# 测试模块13: 临床路径流程
# ============================
echo -e "\n${YELLOW}========== 模块13: 临床路径流程 ==========${NC}"
echo "### 模块13: 临床路径流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "临床路径" "13.1" "GET" "/clinical-pathway/page?pageNum=1&pageSize=10" "" "200" "临床路径列表"
# ============================
# 测试模块14: 危急值管理流程
# ============================
echo -e "\n${YELLOW}========== 模块14: 危急值管理流程 ==========${NC}"
echo "### 模块14: 危急值管理流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "危急值" "14.1" "GET" "/api/v1/critical-value/page?pageNum=1&pageSize=10" "" "200" "危急值列表"
# ============================
# 测试模块15: 处方点评流程
# ============================
echo -e "\n${YELLOW}========== 模块15: 处方点评流程 ==========${NC}"
echo "### 模块15: 处方点评流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "点评计划" "15.1" "GET" "/api/v1/review/plans?pageNum=1&pageSize=10" "" "200" "点评计划列表"
test_api "点评记录" "15.2" "GET" "/api/v1/review/records?pageNum=1&pageSize=10" "" "200" "点评记录列表"
test_api "点评统计" "15.3" "GET" "/api/v1/review/statistics" "" "200" "点评统计查询"
# ============================
# 测试模块16: 合理用药流程
# ============================
echo -e "\n${YELLOW}========== 模块16: 合理用药流程 ==========${NC}"
echo "### 模块16: 合理用药流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "合理用药" "16.1" "GET" "/api/v1/rational-drug/page?pageNum=1&pageSize=10" "" "200" "合理用药列表"
test_api "相互作用" "16.2" "GET" "/api/v1/rational-drug/interaction/page?pageNum=1&pageSize=10" "" "200" "相互作用列表"
test_api "用药统计" "16.3" "GET" "/api/v1/rational-drug/statistics" "" "200" "用药统计查询"
# ============================
# 测试模块17: 药品追溯流程
# ============================
echo -e "\n${YELLOW}========== 模块17: 药品追溯流程 ==========${NC}"
echo "### 模块17: 药品追溯流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "药品追溯" "17.1" "GET" "/drugtrace/page?pageNum=1&pageSize=10" "" "200" "药品追溯列表"
# ============================
# 测试模块18: EMPI主索引流程
# ============================
echo -e "\n${YELLOW}========== 模块18: EMPI主索引流程 ==========${NC}"
echo "### 模块18: EMPI主索引流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "EMPI" "18.1" "GET" "/api/v1/empi/page?pageNum=1&pageSize=10" "" "200" "EMPI索引列表"
# ============================
# 测试模块19: ESB数据集成流程
# ============================
echo -e "\n${YELLOW}========== 模块19: ESB数据集成流程 ==========${NC}"
echo "### 模块19: ESB数据集成流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "ESB消息" "19.1" "GET" "/esbmanage/message/page?pageNum=1&pageSize=10" "" "200" "ESB消息列表"
test_api "ESB服务" "19.2" "GET" "/esbmanage/registry/page?pageNum=1&pageSize=10" "" "200" "ESB服务列表"
# ============================
# 测试模块20: 电子签名流程
# ============================
echo -e "\n${YELLOW}========== 模块20: 电子签名流程 ==========${NC}"
echo "### 模块20: 电子签名流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "CA签名" "20.1" "GET" "/api/v1/ca-signature/page?pageNum=1&pageSize=10" "" "200" "CA签名列表"
# ============================
# 测试模块21: 病案管理流程
# ============================
echo -e "\n${YELLOW}========== 模块21: 病案管理流程 ==========${NC}"
echo "### 模块21: 病案管理流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "病案首页" "21.1" "GET" "/api/v1/mr-homepage/page?pageNum=1&pageSize=10" "" "200" "病案首页列表"
test_api "病案质量" "21.2" "GET" "/api/v1/mr-homepage/quality-check/page?pageNum=1&pageSize=10" "" "200" "病案质量检查"
# ============================
# 测试模块22: 随访管理流程
# ============================
echo -e "\n${YELLOW}========== 模块22: 随访管理流程 ==========${NC}"
echo "### 模块22: 随访管理流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "随访计划" "22.1" "GET" "/followup/plan/page?pageNum=1&pageSize=10" "" "200" "随访计划列表"
# ============================
# 测试模块23: 知情同意流程
# ============================
echo -e "\n${YELLOW}========== 模块23: 知情同意流程 ==========${NC}"
echo "### 模块23: 知情同意流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "知情同意" "23.1" "GET" "/api/v1/informed-consent/page?pageNum=1&pageSize=10" "" "200" "知情同意列表"
# ============================
# 测试模块24: 消毒供应流程
# ============================
echo -e "\n${YELLOW}========== 模块24: 消毒供应流程 ==========${NC}"
echo "### 模块24: 消毒供应流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "消毒供应" "24.1" "GET" "/cssd/trace/page?pageNum=1&pageSize=10" "" "200" "消毒追溯列表"
# ============================
# 测试模块25: 急诊管理流程
# ============================
echo -e "\n${YELLOW}========== 模块25: 急诊管理流程 ==========${NC}"
echo "### 模块25: 急诊管理流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "急诊" "25.1" "GET" "/emergency/page?pageNum=1&pageSize=10" "" "200" "急诊记录列表"
test_api "分诊" "25.2" "GET" "/triage/queue/page?pageNum=1&pageSize=10" "" "200" "分诊排队列表"
# ============================
# 测试模块26: 医保管理流程
# ============================
echo -e "\n${YELLOW}========== 模块26: 医保管理流程 ==========${NC}"
echo "### 模块26: 医保管理流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "医保目录" "26.1" "GET" "/ybmanage/catalog/page?pageNum=1&pageSize=10" "" "200" "医保目录列表"
# ============================
# 测试模块27: 抗菌药物流程
# ============================
echo -e "\n${YELLOW}========== 模块27: 抗菌药物流程 ==========${NC}"
echo "### 模块27: 抗菌药物流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "抗菌药物" "27.1" "GET" "/api/v1/antibiotic/page?pageNum=1&pageSize=10" "" "200" "抗菌药物列表"
# ============================
# 测试模块28: DRG分析流程
# ============================
echo -e "\n${YELLOW}========== 模块28: DRG分析流程 ==========${NC}"
echo "### 模块28: DRG分析流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "DRG" "28.1" "GET" "/api/v1/mr-homepage/drg/page?pageNum=1&pageSize=10" "" "200" "DRG分析列表"
# ============================
# 测试模块29: 经营分析流程
# ============================
echo -e "\n${YELLOW}========== 模块29: 经营分析流程 ==========${NC}"
echo "### 模块29: 经营分析流程" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "经营分析" "29.1" "GET" "/business-analytics/page?pageNum=1&pageSize=10" "" "200" "经营分析列表"
# ============================
# 测试模块30: 系统管理
# ============================
echo -e "\n${YELLOW}========== 模块30: 系统管理 ==========${NC}"
echo "### 模块30: 系统管理" >> "${REPORT_FILE}"
echo "" >> "${REPORT_FILE}"
test_api "仪表盘" "30.1" "GET" "/dashboard/data" "" "200" "仪表盘数据"
test_api "字典" "30.2" "GET" "/dict/type/page?pageNum=1&pageSize=10" "" "200" "字典类型列表"
test_api "用户" "30.3" "GET" "/system/user/page?pageNum=1&pageSize=10" "" "200" "用户列表"
test_api "角色" "30.4" "GET" "/system/role/page?pageNum=1&pageSize=10" "" "200" "角色列表"
test_api "菜单" "30.5" "GET" "/system/menu/list" "" "200" "菜单列表"
test_api "部门" "30.6" "GET" "/system/dept/list" "" "200" "部门列表"
test_api "岗位" "30.7" "GET" "/system/post/page?pageNum=1&pageSize=10" "" "200" "岗位列表"
test_api "通知" "30.8" "GET" "/system/notice/page?pageNum=1&pageSize=10" "" "200" "通知列表"
test_api "审计日志" "30.9" "GET" "/audit-log/page?pageNum=1&pageSize=10" "" "200" "审计日志列表"
# ============================
# 测试汇总
# ============================
echo -e "\n${YELLOW}========================================${NC}"
echo -e "${YELLOW}测试完成!${NC}"
echo -e "总测试数: ${TOTAL_COUNT}"
echo -e "${GREEN}通过: ${PASS_COUNT}${NC}"
echo -e "${RED}失败: ${FAIL_COUNT}${NC}"
PASS_RATE=$((PASS_COUNT * 100 / TOTAL_COUNT))
echo -e "通过率: ${PASS_RATE}%"
# 更新报告汇总
cat >> "${REPORT_FILE}" << SUMMARY
## 测试汇总
- **总测试数**: ${TOTAL_COUNT}
- **通过数**: ${PASS_COUNT}
- **失败数**: ${FAIL_COUNT}
- **通过率**: ${PASS_RATE}%
- **测试时间**: $(date '+%Y-%m-%d %H:%M:%S')
## 测试结论
$(if [ $FAIL_COUNT -eq 0 ]; then echo "所有测试用例全部通过,系统功能完整,可以交付使用。"; else echo "有 ${FAIL_COUNT} 个测试用例失败,需要进一步排查修复。"; fi)
SUMMARY
echo -e "\n测试报告已生成: ${REPORT_FILE}"