4.3 KiB
4.3 KiB
IoT设备日志和轨迹功能测试脚本
测试环境
- 应用地址: http://localhost:8080
- 数据库: MySQL (xq_client_log表已包含device_id字段)
测试步骤
1. 等待应用启动
等待Spring Boot应用完全启动,查看控制台日志确认:
- 数据库连接成功
- 定时任务已注册
- 所有API接口已加载
2. 测试智能项圈日志查询
API: POST /api/deliveryDevice/getCollarLogs
测试数据:
{
"deviceId": "24075000139",
"deliveryId": 86
}
预期结果:
- 返回60分钟间隔的日志数据
- 包含设备电量、温度、步数、经纬度等信息
- 控制台输出查询日志
3. 测试智能项圈运动轨迹
API: POST /api/deliveryDevice/getCollarTrajectory
测试数据:
{
"deviceId": "24075000139",
"deliveryId": 86
}
预期结果:
- 返回60分钟间隔的轨迹点数据
- 包含经纬度和时间戳
- 可用于地图轨迹绘制
4. 测试设备日志同步功能
API: POST /api/deliveryDevice/manualSyncDeviceLogs
预期结果:
- 从iot_device_data表同步数据到三个日志表
- 控制台输出同步统计信息
- 返回成功状态
5. 测试日志统计信息
API: GET /api/deliveryDevice/getLogSyncStatistics
预期结果:
{
"code": 200,
"msg": "获取统计信息成功",
"data": {
"hostLogCount": 5,
"earTagLogCount": 8,
"collarLogCount": 35,
"totalLogCount": 48
}
}
6. 验证数据库数据
检查xq_client_log表数据:
SELECT
device_id,
device_voltage,
device_temp,
latitude,
longitude,
walk_steps,
create_time,
update_time
FROM xq_client_log
WHERE device_id = '24075000139'
ORDER BY update_time DESC
LIMIT 10;
预期结果:
- 显示设备24075000139的最近10条日志记录
- 包含完整的设备信息字段
测试命令
使用curl测试
# 测试项圈日志查询
curl -X POST http://localhost:8080/api/deliveryDevice/getCollarLogs \
-H "Content-Type: application/json" \
-d '{"deviceId": "24075000139", "deliveryId": 86}'
# 测试项圈轨迹查询
curl -X POST http://localhost:8080/api/deliveryDevice/getCollarTrajectory \
-H "Content-Type: application/json" \
-d '{"deviceId": "24075000139", "deliveryId": 86}'
# 测试手动同步
curl -X POST http://localhost:8080/api/deliveryDevice/manualSyncDeviceLogs
# 测试统计信息
curl -X GET http://localhost:8080/api/deliveryDevice/getLogSyncStatistics
使用Postman测试
- 创建新的Collection: "IoT设备日志测试"
- 添加环境变量:
- baseUrl: http://localhost:8080
- deviceId: 24075000139
- deliveryId: 86
- 创建测试请求:
- 项圈日志查询
- 项圈轨迹查询
- 手动同步
- 统计信息
成功指标
✅ 功能验证
- API响应正常: 所有接口返回200状态码
- 数据格式正确: 返回JSON格式的日志和轨迹数据
- 60分钟分组: 数据按小时时间分组显示
- 日志记录完整: 控制台输出详细的查询和同步日志
✅ 数据验证
- 设备信息完整: 包含电量、温度、步数、位置等字段
- 轨迹点有效: 经纬度数据不为0且格式正确
- 时间戳准确: 创建和更新时间字段正确
- 同步功能正常: 数据能正确同步到日志表
✅ 性能验证
- 响应时间: API响应时间在可接受范围内
- 数据量: 能正确处理大量历史数据
- 内存使用: 应用运行稳定,无内存泄漏
故障排除
常见问题
- 应用启动失败: 检查数据库连接和端口占用
- API返回500: 查看控制台错误日志
- 数据为空: 检查设备ID和订单ID是否正确
- 字段映射错误: 确认数据库表结构与实体类匹配
调试方法
- 查看控制台日志: 关注SQL查询和错误信息
- 检查数据库: 直接查询表数据验证
- 使用Postman: 测试API接口的请求和响应
- 分步测试: 先测试单个功能,再测试完整流程
下一步计划
测试成功后,可以:
- 前端集成: 在前端页面测试日志和轨迹显示
- 定时任务: 验证60分钟自动同步功能
- 性能优化: 根据实际使用情况优化查询性能
- 功能扩展: 添加更多设备类型和查询条件