Files
cattleTransportation/tradeCattle/IOT_DEVICE_FUNCTIONALITY_TEST_GUIDE.md
2025-10-24 17:32:42 +08:00

4.3 KiB
Raw Blame History

IoT设备日志和轨迹功能测试脚本

测试环境

测试步骤

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测试

  1. 创建新的Collection: "IoT设备日志测试"
  2. 添加环境变量:
  3. 创建测试请求:
    • 项圈日志查询
    • 项圈轨迹查询
    • 手动同步
    • 统计信息

成功指标

功能验证

  1. API响应正常: 所有接口返回200状态码
  2. 数据格式正确: 返回JSON格式的日志和轨迹数据
  3. 60分钟分组: 数据按小时时间分组显示
  4. 日志记录完整: 控制台输出详细的查询和同步日志

数据验证

  1. 设备信息完整: 包含电量、温度、步数、位置等字段
  2. 轨迹点有效: 经纬度数据不为0且格式正确
  3. 时间戳准确: 创建和更新时间字段正确
  4. 同步功能正常: 数据能正确同步到日志表

性能验证

  1. 响应时间: API响应时间在可接受范围内
  2. 数据量: 能正确处理大量历史数据
  3. 内存使用: 应用运行稳定,无内存泄漏

故障排除

常见问题

  1. 应用启动失败: 检查数据库连接和端口占用
  2. API返回500: 查看控制台错误日志
  3. 数据为空: 检查设备ID和订单ID是否正确
  4. 字段映射错误: 确认数据库表结构与实体类匹配

调试方法

  1. 查看控制台日志: 关注SQL查询和错误信息
  2. 检查数据库: 直接查询表数据验证
  3. 使用Postman: 测试API接口的请求和响应
  4. 分步测试: 先测试单个功能,再测试完整流程

下一步计划

测试成功后,可以:

  1. 前端集成: 在前端页面测试日志和轨迹显示
  2. 定时任务: 验证60分钟自动同步功能
  3. 性能优化: 根据实际使用情况优化查询性能
  4. 功能扩展: 添加更多设备类型和查询条件