一.数据要求及存储设计
接口划分:
一级:以功能模块划分(如用户api,交易api,类目部分等)
二级:某模块下的具体接口名称
三级:根据接口的具体参数(header等),唯一确定一个接口
接口表:
字段 | 类型 | 示例 | 注释 |
---|---|---|---|
id | int | 1 | 接口id(参数类型确定) |
frist_key | varchar | kongge.shz.user | 接口一级分类 |
second_key | varchar | kongge.shz.user.getMainPage | 一级分类下的二级分类,表示一个接口 |
name | varchar | /shz/1.0/user/getMainPage | 接口名称 |
parament | varchar | /{"userId":3} | json格式请求参数 |
ret_value | varchar | {"success":ture} | json格式返回值 |
request_type | tinyint(2) | 0 | 请求类型. 0:get 1:post |
protocol | tinyint(2) | http | 协议类型. 0:http 1:https |
name | varchar | /shz/1.0/user/getMainPage | 接口名称 |
header | varchar | X-shz-AppIp:1 | header数据 |
二.数据获取
1.人工配置
1.增加接口
填写接口名、请求类型,协议类型
2.填写接口信息
请求参数
返回值
2.自动记录
1.通过charles抓包工具,export session 为xml文件
2.反序列化xml文件,提取接口信息(request,head等)
3.入库
三.监控
功能:
1.可以选择监控的接口(全部,一级分类,二级分类)
2.对监控结果的分析,实时反馈接口的状态
实现:
1.搭建一个spring框架的工程。
2.根据前台的请求,到db中获取要测试的接口数据执行测试,
对返回数据和期望数据进行对比,得出接口的状态
3.通过定时任务完成不间断的监控
get请求:
get(method, pathArgs, header, config, callback)
method:api接口名称
pathArgs:路径参数
header:头部
config: 配置,协议类型、线上还是沙箱等其他可配需求
callback:回调函数,包含错误参数err和响应body
post请求:
post(method, pathArgs, header, config, callback)
method:api接口名称
pathArgs:路径参数
header:头部
config: 配置,协议类型等其他可配需求
callback:回调函数,包含错误参数err和响应body
四.问题
1.接口的返回结果依赖于crm端的审核状态,状态不同,返回结果不
同
2.数据存储在库中还是序列化到xml中
3.是多线程并发去请求还是串行