在做接口测试的时候遇到一种场景,请求查询接口的header信息需要从登录接口返回的cookie信息中提取。那么怎么从cookie中提取信息呢?
方法一:在登录请求上添加后置处理器——正则表达式提取器,提取登录接口返回的cookie信息
方法二: 直接用COOKIE Manager自动存储来提取cookie中的信息
下面我来分别演示上述的两种方法
一、通过后置处理器-正则表达式提取器来提取信息
1.在登录接口上右键,添加-后置处理器-正则表达式处理器,如下图:
.png)
要检查的字段:勾选“信息头”
引用名称:给需要提取的信息起一个变量名
正则表达式:查看登录接口响应数据中的Response Headers中的cookie信息,确定正则表达式
模板:$1$ 表示后面可以用token_g1来引用提取信息
匹配数字:填0或不填,表示随机读取,如果填正整数,如1,则不同虚拟用户或循环固定读取某行数据。
2.在查询接接口上右键,添加-配置元件-HTTP信息头管理器,如下图。
.png)
3.运行查看结果
.png)
.png)
由上面数据我们可以看出,信息提取成功。
二、直接用COOKIE Manager自动存储来提取cookie中的信息
1.找到bin文件下的jmeter.properties文件,修改CookieManager.save.cookies=true,如下图:
.png)
2.右键,添加-配置元件-HTTP Cookie管理器,用来存储cookie。存储的时候,cookie的key会以“COOKIE_”为前缀命名(默认情况是这样)
3.右键,添加-配置元件-HTTP信息头管理器, 设置Token的值为COOKIE_加上cookie中需要提取的信息名称,如下图。
.png)
4.运行查看结果
.png)
.png)
对比上面2张图中的数据,提取cookie中的信息成功。