原来一直不知道怎么用Jmeter访问登录接口去关联其他的接口,本文主要记录用Jmeter登录网站后去关联其他的接口。

fiddler抓包

首先我们用fiddler工具对接口进行抓包来获取我们想要的数据,以下是我们访问登录接口获取到的数据:

jmeter 登录通过redis获取验证码_百度

登录

打开jmeter新建线程组,由于我们访问的接口都会用到一样的请求头和信息头,所以我们直接添加一个请求默认器和信息头默认器即可,这样就不用每个接口都写一遍。

jmeter 登录通过redis获取验证码_接口_02


填写的信息头就是我们用fiddler抓取到的数据,直接复制就OK

jmeter 登录通过redis获取验证码_接口_03


接着我们添加一个http请求,访问我们的网址

jmeter 登录通过redis获取验证码_jmeter_04


接下来我们就可以访问登录接口来登录网址了,但是我们登录之前需要添加一个配置元件–cookie默认器用来保存cookie。

这里什么都不用填,只要添加即可。

jmeter 登录通过redis获取验证码_正则表达式_05


接着再添加一个HTTP请求用于访问登录接口;

jmeter 登录通过redis获取验证码_数据_06


最后我们添加察看结果树,就能看见是否登录成功了

jmeter 登录通过redis获取验证码_接口_07

正则表达式提取器

上面我们已经登录成功,要想登录之后访问其他的接口,我们还必须将登录成功之后返回的session关联到其他接口,这样我们才能做其他的操作。那么怎么提取session呢?我们就得用到正则表达式提取器了。

这里注意了,要在哪个接口返回的结果提取数据,就要在哪个接口请求下添加正则表达式提取器。

引用名称:变量名name

正则表达式:(.*)

模板:KaTeX parse error: Can't use function '$' in math mode at position 2: 1$̲表示第一组,2$表示第二组;

匹配数字:0表示随机;1表示取第一个;-1表示取所有;

jmeter 登录通过redis获取验证码_jmeter_08

百度

接着我们用刚才提取的$name变量传入参数到百度请求中去访问百度

jmeter 登录通过redis获取验证码_数据_09


查看察看结果树,我们已经用获取到的数据成功访问百度。

jmeter 登录通过redis获取验证码_数据_10