Files
java-template/utils/README.md
T
2025-09-07 20:03:14 +08:00

115 lines
2.5 KiB
Markdown

# API 自动化测试工具
用于测试 `upload_health_data`、`upload_device_info`、`upload_common_event` 三个接口的功能和性能。
## 功能特点
- 🔗 从数据库读取真实的用户和设备数据
- 🧪 功能测试:验证接口的基本功能
- ⚡ 性能测试:并发测试,统计响应时间
- 📊 详细的测试报告生成
- 🎯 支持自定义测试参数
## 环境要求
```bash
pip install -r requirements.txt
```
## 配置
### 1. 数据库配置
修改 `db_config.json` 文件:
```json
{
"host": "localhost",
"port": 3306,
"database": "ljwx",
"user": "root",
"password": "your_password"
}
```
### 2. API 地址
默认测试地址:`http://192.168.1.83:5001`
## 使用方法
### 简单运行
```bash
python run_tests.py
```
### 高级用法
```bash
# 仅功能测试
python api_tester.py --mode functional
# 仅性能测试
python api_tester.py --mode performance --concurrent 10 --requests 20
# 指定 API 地址
python api_tester.py --url http://192.168.1.83:5001 --mode both
# 指定输出文件
python api_tester.py --output my_test_report.txt
```
### 命令行参数
- `--url`: API 基础地址 (默认: http://192.168.1.83:5001)
- `--mode`: 测试模式 (functional|performance|both, 默认: both)
- `--concurrent`: 性能测试并发用户数 (默认: 5)
- `--requests`: 每个用户的请求数 (默认: 10)
- `--output`: 输出报告文件名
## 测试接口
### 1. upload_health_data
健康数据上传接口,测试数据包括:
- 心率、血氧、体温、步数等健康指标
- GPS 位置信息
- 血压数据
- 时间戳等
### 2. upload_device_info
设备信息上传接口,测试数据包括:
- 设备系统版本
- 网络地址信息
- 电池状态
- 设备状态等
### 3. upload_common_event
通用事件上传接口,测试数据包括:
- 各种设备事件类型
- 事件值和设备序列号
- 位置信息
- 关联的健康数据
## 测试报告
测试完成后会生成详细报告,包含:
- 📈 测试概要(成功率、响应时间等)
- 🎯 各接口详细统计
- ⏱️ 响应时间分析(平均值、最值、中位数)
- ❌ 错误详情
## 文件说明
- `api_tester.py` - 主测试工具
- `db_config.py` - 数据库连接模块
- `run_tests.py` - 简化运行脚本
- `db_config.json` - 数据库配置文件
- `requirements.txt` - Python 依赖包
## 数据来源
- 用户数据:从 `sys_user` 表获取
- 设备数据:从 `t_device_info` 表获取
- 自动生成符合接口规范的测试数据