接口测试流程:
- 查看API接口文档,熟悉接口业务(地址、端口、参数、鉴权、状态码)
- 设计接口测试用例(正例:正确的结果;反例:鉴权异常、参数异常、兼容异常、其他异常)
- 使用接口测试工具(Jmeter)
- 持续集成,输出报告
Jmeter组件的执行顺序:
- 测试计划:Jmeter测试的起点,容器
- 线程组:代表一定的用户
- 配置元件:配置请求
- 前置处理器:请求之前的操作
- 定时器:请求之前延迟请求
- 逻辑控制器:请求之前处理请求逻辑
- 取样器:发送请求的最小单元
- 后置处理器:请求之后的操作
- 断言:请求之后判断请求结果是否正常
- 监听器:请求之后收集测试结果
Jmeter组件的作用域:
- 组件可以作用于同级组件
- 组件可以作用于同级组件下的子组件
- 组件可以作用于上级组件
三类接口:
- 基于webservice协议接口,通过xml传输数据
- 基于dubbo协议接口,通过json传输数据
- 基于http协议接口,通过json传输数据.
http协议:请求和响应:
- 请求:请求方式,请求路径,请求头,请求数据(报文)
- 响应:响应码,响应信息,响应头,响应数据(报文)
Jmeter接口关联
1. 使用正则表达式提取器
第一步:将登录的token值使用正则表示,选择RegExp Tester,可以点击 test进行测试查看正则表达式是否正确(token鉴权接口)
第二步:在登录请求 添加正则表达式提取器,填写内容 (可以写多个值)
1)变量名,可以随意定义
2)正则表达式,要包括有左边界和右边界以及(."?),而且必须唯一
3)$1$表示取第一个正则,$2$表示取第二个正则
4)匹配数字,表示飘第一个匹配到的值
5)默认值,没有匹配到就使用默认值
第三步:在需要关联的请求 添加 HTTP信息头管理器,添加token
第四步:查看请求结果
2. json提取器
jsonpath语法规则:(只能适用于json数据)
1)$ :代表根目录
2). :代表子节点
3)取数组的值通过[下标],下标从0开始
eg:$.data 、 $.* (根目录下所有子节点)、$.data.list.godds[1]
第一步:将登录的token值使用jsonpath语法表示,选择JSON Path Tester,点击 test 查看
第二步:在登录请求 添加JSON提取器,填写内容 (只能写1个值)
1)变量名
2)jsonpath表达式
3)匹配数字,表示取第一个匹配到的值
4)默认值,没有匹配到就使用默认值
第三步:在需要关联的请求 添加 HTTP信息头管理器,添加token,使用${}
第四步:查看请求结果