说明:
实现在版本快速迭代过程中对系统接口的监控。只贴了部分关键代码

脚本实现:

  1. 数据驱动,针对目前公司系统,无需对测试脚本进行修改即可实现接口的巡检。
  2. 考虑到系统支持 http 类型,暂只支持 get 和 post
  3. 使用数据库 mysql 的形式进行用例编写和管理

脚本设计思路:

  1. case 数据准备:数据库维护 case 数据,包括 url,method,data,header
  2. 参数处理: a) 通用参数准备,random,tm,reqId,stamp,用 $$ 前缀作为标记 b) 全局参数 map 准备,用于存储每次系统版本迭代的数据,以及每次请求过程中从响应信息中提取出来的参数用于下一个接口的传参,用 ## 前缀作为标记   3.http 请求数据组装,其中这里 header 需要签名处理,data 中需要参数替换   4.jsonPath 实现断言判断以及 response 参数提取,把结果回写数据库和回写全局 map   5.最后产出测试报告以及使用 jenkins 持续集成管理

具体实现说明(部分代码展示):

  1. case 数据准备

a) 数据库 case 准备

接口描述,url,uri,method,header,data,全局变量提取,断言判断,响应内容存储,测试分组,测试结果

b) 测试分组及范围

在代码中,通过 sql 指定测试范围,且后续新增测试范围和调整时,只需要修改 mysql 中的数据即可,无需在脚本中编辑。最后返回 List 形式,需要对这块进行分隔处理,存到一个 bean 里面

  2.参数处理
a) 通用参数准备
b) 版本初始化准备数据
包括系统信息,用户信息,手机设备信息,插件信息,存到数据库的 dict 表里面,提取出来存到 map 里面


  
3.http 请求数据组装

主入口启动

a) 请求组装

其中 header 和 data 的处理,需要去循环全局变量 map 和公共参数替换
 


  
4.jsonPath 实现断言判断和提取全局变量
 

 5.使用 jenkins 持续集成管理
 


↙↙↙阅读原文可查看相关链接,并与作者交流