2.5 KiB
2.5 KiB
API 自动化测试工具
用于测试 upload_health_data、upload_device_info、upload_common_event 三个接口的功能和性能。
功能特点
- 🔗 从数据库读取真实的用户和设备数据
- 🧪 功能测试:验证接口的基本功能
- ⚡ 性能测试:并发测试,统计响应时间
- 📊 详细的测试报告生成
- 🎯 支持自定义测试参数
环境要求
pip install -r requirements.txt
配置
1. 数据库配置
修改 db_config.json 文件:
{
"host": "localhost",
"port": 3306,
"database": "ljwx",
"user": "root",
"password": "your_password"
}
2. API 地址
默认测试地址:http://192.168.1.83:5001
使用方法
简单运行
python run_tests.py
高级用法
# 仅功能测试
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表获取 - 自动生成符合接口规范的测试数据