jmeter的简单http接口用法
1. jmeter的启动:windows下的环境
进入jmeter的并目录双击启动
Mac电脑 进入bin目录找到jmeter.sh 文件 在终端执行./jmeter.sh 或者./jmeter。
如何使用
测试的所有内容是基于一个测试计划,测试计划测试基于线程组。
先新建一个测试计划,在建一个线程组
线程组只需关注2点
虚拟线程数,和循环次数,循环次数是一个线程执行完,回头再次执行指定1次则线程停止
针对的是每一条线程,类似java中的循环。
定义一些公共的请求头部分或者参数,无需线程组下的每一个场景再去定义
结果如下:
你需要协议,域名或者ip,端口号
需要名称和值
注意:这2部分只是针对线程组有多个执行场景而准备的,都需要该全局变量,所以这部分也不是必须要有的,看个人情况。
线程组的多个执行场景怎么理解呢往下看
这3步就是执行步骤
执行步骤怎么新建呢?每一个执行步骤又是一个控制器
建好后控制器需要建事务, 建http请求
最终结果如下:
协议,ip,端口 这次无需指定,因为全局已经指定,这里只需输入 要请求的地址和方法,以及编码,但是ip也是可以输入的,输入后会就近原则生效。
这里指定参数,value可以指定变量,从全局配置的变量中取,但是也可以从外置的txt文件中获取,后面讲解该方式。
指定请求路径后还要指定请求头的方式因为每一个请求都要有请求头:
结果如下:
该请求头也可以用作全局的方式,可以省略多个请求都要配置一次
这样就是一个简单的请求了ok。
添加一个结果树,就能看到结果,还可以添加聚合报告以报表的形式查看结果
简单的一个接口请求可以了,进阶一下操作试试。
接着上面的发送验证码操作里面有个变量的username 该字段可以从外部文件获取
外部文件名是id_serial.txt ,文件有2列 分别自定义指定名字variable names
外部文件格式如下,一个线程取一条,10个线程取10条,取不完的可以设定线程循环,就会按照循序取了
比如这个操作需要依赖上一步的返回作为参数那么就这样写,
把上一步的返回结果提取出来,定义一个正则表达式提取结果作为全局变量
关于正则提取规则可以自行百度
还有响应断言
注意层级目录这是在卡列表查询上添加的
这只是用jmeter测试http或者https接口的例子,加大线程可以测试并发下的系统的性能,还有好多功能大家可以多摸索一下,满足自己的需要,
这是从聚合报告里面统计的,至于这些参数的意思,可以自行百度。
Jmeter还可以测试好多场景,例如数据库,java 接口,等等
下载地址:
官网:http://jmeter.apache.org/download_jmeter.cgi
Jmeter3的版本支持jdk1.7,jmeter5以上的版本最低需要jdk1.8的版本