背景:
项目系统中很多接口,会有用户登入状态的权限校验判断接口是否能正常的调用接口
比如:设备查询接口,会校验用户成功后才能查询

操作方式:
可以在设备查询接口请求,设置HTTP信息头管理器,里面添加 Cookie 和 cookie值来满足用户是登入状态,从而让设备查询接口可以正常调用

既然要有用户登入成功后的状态 Cookie值,那么就有了我们今天jmeter–获取Set-Cookie–作为关联给下一个接口使用 的话题

思路:
新增1个用户登入接口–=--获取Cookie值----Cookie值关联到设备查询接口中使用

如何获取:
好像可以有两种方式
方式1: 通过 后置处理器–正则表达式提取器–获取cookie值–传递给下一个接口

要从response headers 获取cookie值

jmeter调试取样器怎么获取response header_关联操作


操作

jmeter调试取样器怎么获取response header_查询接口_02


jmeter调试取样器怎么获取response header_查询接口_03


jmeter调试取样器怎么获取response header_查询接口_04

成功
参考资料:(https://blog.51cto.com/6218759/2114424)

方式2:

修改jmeter.properties文件,打开 CookieManager.save.cookies=true ,设置成true(好像不打开也可以)

jmeter调试取样器怎么获取response header_查询接口_05


jmeter调试取样器怎么获取response header_取值_06


jmeter调试取样器怎么获取response header_关联操作_07


OK,成功了

补充下:

正则表达式提取器
说明:

(1)引用名称:下一个请求要引用的参数名称,如填写cookie,则可用${cookie}引用它。

(2)正则表达式:
    ():括起来的部分就是要提取的。
    . :匹配任何字符串。
   * + :一次或多次。
   ?:不要太贪婪,在找到第一个匹配项后停止。
   
(3)模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$1$$2$等等,表示解析到的第几个值给cookie。如:jmeter调试取样器怎么获取response header_正则表达式_08表示解析到的第1个值

(4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0

(5)缺省值:如果参数没有取得到值,那默认给一个值让它取。

PS:获取 接口响应数据中的字段

jmeter调试取样器怎么获取response header_查询接口_09


jmeter调试取样器怎么获取response header_查询接口_10


jmeter调试取样器怎么获取response header_正则表达式_11


jmeter调试取样器怎么获取response header_取值_12