Jmeter测试---获取token

一般后台系统调用接口的话都会有token校验的,所以我们在用Jmeter测试的话是要带着token的
自己在研究Jmeter的时候第一件事也是来做带有token的接口测试,在网上找寻了方法之后,自己终于能测试成功了,所以写篇博客来记录分享一下

1.填写登录接口的http请求

在这里插入图片描述

**2.提取器提取token

方法1:在登录接口下添加正则表达式提取器,获取token

网上大多是用这个方式,这个方式我有时候取不到,不推荐使用这个方式

注意,因为我们系统的token返回的字段是access_token
在这里插入图片描述
所以在正则表达式里写的是access_token,正则表达式是:“access_token”:"(.+?)"
在这里插入图片描述
说明:
(1)引用名称:下一个请求要引用的参数名称,我这里是access_token
(2)正则表达式:

():括起来的部分就是要提取的。

.:匹配任何字符串。

+:一次或多次。

?:在找到第一个匹配项后停止。
(3)模板:表示解析到的第几个值给title。如: 1 1 1表示解析到的第1个值
(4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0

(5)缺省值:如果参数没有取得到值,那默认给一个值让它取,我填的error。
以上说明转自:https://blog.csdn.net/weixin_33998125/article/details/93780284

方法2.添加JSON提取器提取token

1.我们在查看结果树那里选择JSON Path Tester,用JSON提取器去测试是否能取到得到的token
在这里插入图片描述
在这里插入图片描述
点击Test测试,发现可以取到返回参数的结果token
这就说明我们提取token的表达式可以直接填 $.access_token
2.在http请求里右键,添加–后置处理器–JSON提取器
在这里插入图片描述

4.在http请求下新建断言:BeanShell断言

在这里插入图片描述
设置token为全局变量
脚本为:

${__setProperty(newtoken,${access_token},)}

是用newtoken这个字段来接收获取的access_token,在后面使用token的时候直接写newtoken就行了
在这里插入图片描述

5.在整个测试计划下添加配置元件–HTTP信息头管理器

在这里插入图片描述
填写全局变量,我们系统是把token给Authorization字段的,还有前面带有bearer
所以这个字段的值是bearer ${__property(newtoken)}
在这里插入图片描述

6.新建线程组测试其他业务,验证以上token是否获取成功

我这边是建的查询接口,token获取成功!
在这里插入图片描述
点击上方的运行按钮,会执行所有的线程组
这些线程组都是获取的全局的token,所以用的测试计划下的全局HTTP信息头管理器
用变量来取得token,测试起来方便很多,不必每次都手动去改每个接口下的token值了

猜你喜欢

转载自blog.csdn.net/shenshenruoxi/article/details/103165339