一、下载地址
jmeter官网下载:Apache JMeter - Apache JMeter™
网盘下载地址:https://pan.baidu.com/s/17B0G22CJFekM2Ytn1uEvnA 提取码:l0h6
二、安装
1、安装jdk并配置环境变量
进入Java官网下载最新版本jdk,双击开始安装jdk
安装完成后,配置Java环境变量
2、安装Jmeter
将下载好的jmeter安装包进行解压,解压后进入jmeter的bin目录下找到jmeter.bat双击进行启动
jmeter运行后会自动开启一个CMD窗口,关掉这个窗口后会Jmeter会自动关闭
三、jmeter使用
1、修改语言
①、临时修改:每次关闭后再次开启都需要重新修改
②、永久修改:此方法是直接修改JMeter的配置文件
进入jmeter的bin目录下,找到jmeter.properties文件,并找到language=en,将en改为zh_CN并去掉#符号,后续重启不用再修改语言了
2、创建线程组
线程组可以理解为一个用例集,在下方添加取样器可以理解为用例,首先需要添加一个线程组,如下图所示:
3、添加取样器
在线程组下添加取样器,选择HTTP请求的取样器,并按照下方步骤填入协议、环境IP、端口号、选择请求类型、接口路径、请求体的参数
4、添加http信息头管理器
在线程组层级下点击添加、选择配置元件下的HTTP信息头管理器,并添加接口信息中的Content-Type参数如下图所示
5、添加断言
断言可以判断用例是否执行成功,与预期结果是否一致。点击添加断言,可以根据各种断言进行判断,以下以响应断言为例
测试模式可以添加你需要断言的部分,如果是包括,就可以添加多个
响应断言一般可以配合断言结果监听器一起使用,用例执行成功会显示名称,执行失败会返回断言自定义的失败信息内容
6、添加查看结果树
点击添加监听器中的查看结果树,点击运行测试计划后,该监听器可以查看接口是否报错,报错信息以及返回的信息,用例执行通过显示为绿色、失败显示为红色
7、添加聚合报告
点击添加监控器下的聚合报告,聚合报告中可以查看并发的响应时间、错误率、吞吐量等数据
四、获取token
在登录接口的返回信息中可以查看到token信息
随后可以通过使用后置处理器里面的提取器进行提取token,可以根据哪种方式合适就选择对应的,以下以正则表达式提取器为例
正则匹配的参数可以参考以下的参数,根据实际的token情况进行匹配
^ | 匹配输入字符串的开始位置 |
---|---|
$ | 匹配输入字符串的结束位置 |
* | 匹配前面的子表达式零次或多次 |
+ | 匹配前面的子表达式一次或多次 |
? | 匹配前面的子表达式零次或一次 |
. | 匹配除“\ n ”之外的任何单个字符。 |
五、同线程组内引用token
上述步骤中已经获取token并将token作为变量了,下方主要讲述如何将token引用到其它用例中
如图所示:引用token变量时需要在请求中添加参数使用${变量名}进行使用
随后执行该用例,查看结果树中可以查看到用例执行成功,token引用成功
如果没使用$符合引用变量,可以查看到执行结果报错,提示token令牌无效等信息
六、不同线程组内引用token
1、上诉正则表达式提取出的token变量,不能直接在其它线程组内进行引用,需要先将该变量设置为全局变量,首先需要添加一个Beanshell取样器
2、在取样器脚本输入中输入${__setProperty(requestToken,${token},)}; 这段代码,其中requestToken为全局变量名称,${token}为之前正则获取的token的变量名
3、创建一个新的线程组,并在该线程组下创建一条用例,在请求中引用token的全局变量,使用${__property(全局变量名称)}的方面进行引用,如下所示:
4、点击进行执行,查看token是引用成功,用例执行成功
根据上述步骤中可以了解到如何将token设置为全局变量,并引用到其它线程组的。这样就不用担心测试时其它线程组执行时经常报错token无效了