- 01_test_data_fixed.sql: 31个模块测试数据(覆盖门诊/住院/药房/检验/影像/手术/麻醉/护理/院感/质控/中医/会诊/临床路径/危急值/DRG/EMPI/ESB等) - 02_TEST_FLOWS.md: 30个业务流程图+API接口映射(含调用链路和测试数据) - 03_test_api_comprehensive.sh: 自动化测试脚本(覆盖所有模块API接口)
514 lines
24 KiB
Bash
Executable File
514 lines
24 KiB
Bash
Executable File
#!/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}"
|