jmeter接口测试(一)
一、什么是接口测试?为什么要做接口测试?
接口测试:就是测试项目和项目之间,模块和模块之间,组件和组件之间的数据交互和权限鉴定(鉴权)。
前后端分离:前后端联调。mock模拟,测试左移。
基于安全考虑:
二、接口分类
内部接口:被测项目开发的接口是提供给内部系统使用。(正例)
外部接口:
1、被测项目调用外部项目的接口。(正例)
2、被测项目开发接口提供给外部项目使用。(正例、鉴权、反例、兼容)
粒度。
重点:接口参数传递以及接口功能的正确性,各种异常情况的容错能力,权限控制的能力,兼容性。
一般情况下,一个正常的接口可以写30个用例左右。
三、目前市场上的接口类型的全局认识
1、基于soap接口架构的接口:基于webservice协议,基于xml传输数据的。
分辨:接口地址:https://.............?wsdl web service description language
基于工具:suapui
2、基于RPC接口架构的接口:阿里的dubbo、RMI、thift
分辨:接口地址:dubbo://
springcloud微服务
基于工具:jmeter(插件)
3、最核心的主流:基于restful接口架构:
分辨:增、删、改、查 (post、delete、put、get),并且这四种是同一个地址:http://192.168.0.8/user
不是非常严格:增、删、改、查(post、post、post、get)
基于工具:jmeter、postman...
jmeter+ant+git+jenkins持续集成
postman+newman+git+jenkins持续集成
四、Jmeter
jmeter依赖于java环境(jdk1.8以上)
1、安装jdk以及配置jdk的环境变量。
2、jmeter不需要安装,解压即可使用。
backups:备份jmx脚本
bin目录:
ApachJMeter.jar : Jmeter的主要jar文件
jmeter.bat : 启动文件
jmeter.properties : 全局配置文件(⭐⭐⭐⭐⭐)
docs: 离线帮助文档,用于二次开发
extras:和第三方插件集成(⭐⭐⭐⭐⭐)
五、Jmeter的界面以及组件详解
组件:
测试计划
线程组
取样器
逻辑控制器
前置处理器
后置处理器
断言
定时器
配置元件
监听器
组件作用域:
1、兄弟(同级)组件
2、父组件
3、兄弟组件下的子组件
执行顺序:
测试计划 》 线程组 》 配置元件 》 前置处理器 》定时器》逻辑控制器 》取样器 》后置处理器 》断言 》监听器
六、Jmeter接口测试流程
1、拿到api接口文档(抓包,录制),业务、地址、鉴权、入参、出参、错误码等
2、编写接口测试用例以及评审
正例、鉴权反例、参数反例、兼容,其他特殊场景(接口次数限制,黑名单,接口分页)
3、执行接口测试
4、团队协作以及持续集成。
七、Jmeter接口测试实战
json格式
http协议:请求和响应
请求:请求行、请求头、请求正文
响应:响应行、响应头、响应正文
https协议默认的端口为:80 http协议默认的端口为:443
三大配置元件:HTTP Cookie管理器 、HTTP请求默认值 、用户定义的变量
八、接口关联
1、JSON提取器 :只能作用于json数据
例如:提取access_token
json提取方式为:$.变量名
图中:Names of created variables: 新建变量名
JSON Path expressions:json表达式提取
Match No: 匹配次数
Default Values:默认值
2、正则提取器:所有字符串