当前位置: 首页 > news >正文

创建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_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按照以下模板生成:

### 查询{资源}分页列表 => 成功 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. 复杂业务逻辑添加详细说明
http://www.jsqmd.com/news/642069/

相关文章:

  • 多模态对话系统落地实战手册(含医疗/金融/政务三大高合规场景SOP),大会唯一授权中文版限量发放中
  • C#实战:二维码与条形码生成技术全解析
  • 信息学奥赛训练指南:如何用for循环优化累加问题(从OJ例题到竞赛技巧)
  • 2026年4月昆明AI关键词优化服务商综合评估与报价指南 - 2026年企业推荐榜
  • Topit:你的数字工作台智能管家,让窗口管理从此优雅高效
  • 开源大模型二次开发:Llama 3/通义千问/混元适配全教程
  • CANoe信号发生器深度玩法:结合User Defined与Log回放,搭建自动化测试闭环
  • 2026年第二季度江苏钢板网护栏采购指南:优质厂家深度解析与推荐 - 2026年企业推荐榜
  • 多模态大模型“小而强”训练秘钥(内部技术白皮书节选):冻结率>67%、模态采样熵<1.2、跨模态KL阈值=0.043——这些数字决定成败
  • ROS牛耕法全覆盖规划:从算法原理到清洁机器人实战解析
  • uniapp中物理返回按钮的拦截与自定义处理实践
  • 01-18-09 接口稳定性保障
  • PyTorch训练时,如何用TensorBoard实时“监控”并“调试”你的模型?以FashionMNIST分类为例
  • 从4位到16位:手把手教你用Logisim搭建可扩展的比较器模块(含完整测试流程)
  • 2026现阶段汽车KD包装市场测评:五大服务商深度解析与选型指南 - 2026年企业推荐榜
  • 把Kettle塞进Docker:从单次运行到定时调度的完整实践指南(Cronjob + 日志处理)
  • 2026年4月AGV选型指南:为何云南杭叉叉车有限公司是富民县企业的可靠选择? - 2026年企业推荐榜
  • 015、AI如何看懂世界:卷积神经网络(CNN)入门
  • PMSM伺服控制系统仿真:位置环控制及稳定跟踪
  • Cka-2026-gateway解释
  • 向量数据库选型与实战:大模型应用落地的核心基建指南
  • TEKLauncher:让方舟生存进化管理变得简单的智能启动器
  • 【越权漏洞】实战剖析:从攻击者视角到企业级防御体系建设
  • 从CVE-2024-37032看供应链安全:Ollama恶意模型注册表攻击链全景解析
  • AD01故障AD02抢夺 FSMO 角色成为主域
  • 2026年四月钢结构采购指南:五大实力服务商深度解析与选购策略 - 2026年企业推荐榜
  • ONVIF Server 功能完善开发计划
  • 2026年沧州硅PU篮球场建设指南:五大服务商深度测评与选型建议 - 2026年企业推荐榜
  • 2026年4月新发布专业沫保温箱:直销工厂选择与深度评估指南 - 2026年企业推荐榜
  • Qi无线充电协议全解析:从BPP到MPP的技术演进与应用场景