Jmeter-获取cookie中的值

业务功能接口基本都要传登录的token才能调通,平时都是定义个全局变量放token,每次要手工替换,但是要实现接口自动化就不能这么干了,今天fiddler抓了个登录的脚本,获取下cookie中的token,以便后续接口调用token

网上学到了两种方式:

1是通过后置提取器提取出token,后续接口引用此变量,2是通过cookie管理器配置,两种我都尝试了一下:

1、登录请求添加后置处理器-正则表达式提取器,提取登录接口返回的cookie信息

1)定位登录接口(业务复杂的登录有多个接口,取最后一个有token的接口),右键添加后置处理器-正则表达式提取器或者边界提取器皆可

2)填写正则表达式提取器中的内容,首先看这个token是在登录请求的哪个位置,一般是请求的信息头中,点击“信息头”,自定义一个变量,正则表达式填入token前后值,token值替换为(.+?),模板写入$1$,后续其他接口通过${yht_access_token}可获取到token

 

备注:这种适用于请求中信息头有token的情况,但是我实际应用的接口不存在于信息头中,而是在equest Body中的cookie data中,如上方法取不到值,jmeter中没找到选:request Body的选项,如果有小伙伴知道,烦请告诉我

我的登录请求如下:

 

于是乎,我就试用了第二种方法:

2、用COOKIE Manager自动存储来提取cookie中的信息

1)找到jmeter安装目录中的Bin目录下jmeter.properties文件,修改CookieManager.save.cookies=true,将前面的#删除

 

 2)重启jmeter,在登录脚本同一线程组下添加一个cookie管理器(注意是同一线程组下,其他线程组下取不到这个cookie)

3)然后在后续所有需要用到token的地方填写${COOKIE_yht_access_token},即可获取到token

 

 

 

 如上,可以获取到cookie data的token了,建议如果请求头中有cookie的还是用正则提取器吧,不用修改配置,因为配置这个东西,容易忘记,比如我本地执行通过,之后把脚本放到测试服务器,

忘记这个配置了,怎么都获取不到token,想好久才想起来,哈哈哈

 

posted @ 2021-08-20 17:26  jxial  阅读(1759)  评论(1编辑  收藏  举报