创建Controller HTTP测试脚本

创建Controller HTTP测试脚本

任务概述

为fastbee-open-api模块下的103个Controller创建对应的HTTP测试脚本文件,确保测试覆盖所有主要接口。

测试脚本规范

文件格式

  • 文件名: {ControllerName}.http (如: DeviceController.http, SysUserController.http)
  • 存放位置: f:/project/kaiyuan/fastbee-dev/springboot/script/idea/ 目录
  • 编码: UTF-8 with BOM
  • 变量引用: 使用 {``{baseUrl}}, {``{token}}, {``{tenantId}} (来自http-client.env.json)

单个请求格式

http 复制代码
### {请求描述} => {预期结果}
{HTTP_METHOD} {{baseUrl}}/{api-path}?{query-params}
Authorization: Bearer {{token}}
Content-Type: application/json

{request-body}

注释规范

  • 使用 ### 标记每个请求的开始
  • 注释格式: 功能描述 => 预期结果(成功/失败)
  • 复杂请求添加额外说明注释

测试场景覆盖

  1. 分页查询 : list?pageNum=1&pageSize=10
  2. 详情查询 : getInfo/{id}
  3. 新增 : POST + JSON body
  4. 修改 : PUT + JSON body
  5. 删除 : DELETE/{ids}
  6. 导出 : POST /export
  7. 业务特定接口: 根据Controller功能定制

执行计划

阶段1: 核心业务模块 (优先级高)

创建以下目录的测试脚本:

  1. device/ (9个Controller)

    • DeviceController.http - 已存在,需补充完整测试用例
    • DeviceAlertUserController.http
    • DeviceExtParamValueController.http
    • DeviceJobController.http
    • DeviceMaintenanceController.http
    • DeviceMessageController.http
    • DeviceRecordController.http
    • DeviceShareController.http
    • DeviceUserController.http
  2. system/ (16个Controller)

    • SysUserController.http
    • SysRoleController.http
    • SysMenuController.http
    • SysDeptController.http
    • SysConfigController.http
    • SysDictDataController.http
    • SysDictTypeController.http
    • SysNoticeController.http
    • SysPostController.http
    • SysProfileController.http
    • SysLoginController.http
    • SysRegisterController.http
    • SysClientController.http
    • SysIndexController.http
    • SysMenuTranslateController.http
    • SysTranslateController.http
  3. deviceConfig/ (10个Controller)

    • ProductController.http
    • CategoryController.http
    • GroupController.http
    • ThingsModelController.http
    • ThingsModelTemplateController.http
    • OrderControlController.http
    • ProductAuthorizeController.http
    • ProductExtParamController.http
    • CommandPreferencesController.http
    • ThingsModelTemplateTranslateController.http
    • ThingsModelTranslateController.http

阶段2: 规则引擎与日志模块

  1. ruleEngine/ (5个Controller)

    • SceneController.http
    • AlertController.http
    • BridgeController.http
    • HttpBridgeController.http
    • ScriptController.http
  2. deviceLog/ (4个Controller)

    • DeviceLogController.http
    • AlertLogController.http
    • EventLogController.http
    • FunctionLogController.http
  3. ruleview/ (9个Controller)

    • RuleChainController.http
    • RuleCmpController.http
    • RuleDebugController.http
    • RuleElController.http
    • RuleExecutorController.http
    • RuleLogController.http
    • RuleParserController.http
    • RuleScriptNodeController.http
    • RuleTriggerController.http

阶段3: 媒体与网关模块

  1. media/ (11个Controller)

    • MediaServerController.http
    • PlayerController.http
    • PtzController.http
    • RecordController.http
    • SipConfigController.http
    • SipDeviceController.http
    • CommonChannelController.http
    • CommonPlayerController.http
    • CommonPtzController.http
    • TalkController.http
    • ZmlHookController.http
  2. gateway/ (1个Controller)

    • SubGatewayController.http
  3. modbus/ (6个Controller)

    • ModbusController.http
    • ModbusConfigController.http
    • ModbusJobController.http
    • ModbusParamsController.http
    • ProductModbusJobController.http
    • ProductSubGatewayController.http

阶段4: 其他业务模块

  1. datacenter/ (3个Controller)

    • DataCenterController.http
    • ReportController.http
    • ReportRecordsController.http
  2. firmware/ (2个Controller)

    • FirmwareController.http
    • FirmwareTaskController.http
  3. sceneModel/ (4个Controller)

    • SceneModelController.http
    • SceneModelDataController.http
    • SceneModelDeviceController.http
    • SceneModelTagController.http
  4. operations/ (1个Controller)

    • WorkOrderController.http
  5. card/ (2个Controller)

    • CardController.http
    • CardPlatformController.http
  6. appVersion/ (1个Controller)

    • AppVersionController.http
  7. dashBoard/ (1个Controller)

    • DashBoardController.http
  8. protocol/ (1个Controller)

    • ProtocolController.http
  9. runtime/ (1个Controller)

    • DeviceRuntimeController.http
  10. sip/ (1个Controller)

    • SipRelationController.http
  11. netty/ (1个Controller)

    • NettyManagerController.http

阶段5: 工具与社交模块

  1. tool/ (5个Controller)

    • ToolController.http
    • EmqxController.http
    • NewsController.http
    • NewsCategoryController.http
    • AuthResourceController.http
  2. socialUser/ (3个Controller)

    • SocialLoginController.http
    • SocialPlatformController.http
    • UserSocialController.http
  3. translate/ (2个Controller)

    • AppLanguageController.http
    • AppPreferencesController.http
  4. wechat/ (1个Controller)

    • WeChatController.http
  5. goview/ (2个Controller)

    • GoviewProjectController.http
    • GoviewProjectDataController.http

实施步骤

步骤1: 补充DeviceController.http

完善现有的DeviceController.http,添加所有接口的测试用例:

  • 分页查询、未授权列表、分组查询、简短列表、全部列表
  • 详情查询(按ID、按序列号)
  • 新增设备、批量新增
  • 修改设备、重置状态
  • 删除设备、物理删除
  • 导出、导入、分配、回收
  • MQTT连接参数、HTTP认证参数
  • 统计信息、变量概况

步骤2: 批量生成标准CRUD测试脚本

为每个Controller按照以下模板生成:

http 复制代码
### 查询{资源}分页列表 => 成功
GET {{baseUrl}}/{base-path}/list?pageNum=1&pageSize=10
Authorization: Bearer {{token}}

### 获取{资源}详情 - {id} => 成功
GET {{baseUrl}}/{base-path}/{id}
Authorization: Bearer {{token}}

### 新增{资源} => 成功
POST {{baseUrl}}/{base-path}
Authorization: Bearer {{token}}
Content-Type: application/json

{
  "name": "测试数据",
  "status": 1
}

### 修改{资源} => 成功
PUT {{baseUrl}}/{base-path}
Authorization: Bearer {{token}}
Content-Type: application/json

{
  "id": 1,
  "name": "更新后的名称",
  "status": 1
}

### 删除{资源} => 成功
DELETE {{baseUrl}}/{base-path}/{ids}
Authorization: Bearer {{token}}

### 导出{资源}列表 => 成功
POST {{baseUrl}}/{base-path}/export
Authorization: Bearer {{token}}
Content-Type: application/json

{
  "pageNum": 1,
  "pageSize": 10
}

步骤3: 添加业务特定接口

根据每个Controller的特殊功能添加测试用例:

  • 设备管理: 绑定用户、分配回收、导入导出
  • 规则引擎: 场景触发、脚本执行
  • 媒体服务: 视频播放、PTZ控制
  • 系统管理: 登录登出、权限分配

步骤4: 验证与优化

  • 检查所有测试文件格式一致性
  • 确保变量引用正确
  • 验证请求路径与Controller映射匹配
  • 添加必要的请求头和请求体

输出文件清单

总共生成103个HTTP测试文件,存放在 script/idea/ 目录下,覆盖fastbee-open-api模块所有Controller。

注意事项

  1. 所有文件使用UTF-8 with BOM编码
  2. 遵循现有DeviceController.http的格式
  3. 每个请求包含清晰的中文注释
  4. 使用环境变量避免硬编码
  5. 覆盖成功和常见失败场景
  6. 复杂业务逻辑添加详细说明
相关推荐
wanhengidc2 小时前
服务器如何防范爬虫攻击?
运维·服务器·网络·爬虫·游戏·智能手机
捞的不谈~2 小时前
LUCID相机(HTR003S-001)更改IP地址
网络·网络协议·tcp/ip
老张的张Z2 小时前
CISSP 域4知识点 网络组件安全
网络·安全
枕布响丸辣2 小时前
LVS+Keepalived 高可用集群搭建与实战指南
网络
San30.2 小时前
前端进阶:从浏览器渲染原理到网络请求全链路解析
前端·网络·网络请求·浏览器渲染机制
Heart_to_Yang2 小时前
TPLink路由器虚拟专用网端口映射故障问题,端口转发无效
运维·服务器·网络
本地化文档2 小时前
requests-docs-l10n
python·http·github·gitcode
herinspace2 小时前
管家婆实用帖-如何使用ping命令检测网络环境
网络·数据库·人工智能·学习·excel·语音识别
芯智工坊3 小时前
IgH EtherCAT 从入门到精通:第 3 章 第一次运行 Hello EtherCAT
网络·igh ethercat