Jmeter以form-data请求,响应的cookie参数少,无法后续传递

Jmeter的一个坑,为这个问题困惑了好几天,记录下解题过程。

场景:多用户调业务接口,需要取到登录后的cookie,动态传参给业务接口。

问题:用Postman调登录接口,能取到响应的cookie的多个参数。e6c0910829aa4a5badc452b0ae5371c6.jpg

 但在Jmeter里调登录接口,返回的cookie参数就少了,只有1个,取不到需要的2个参数。64bda53f5f154101ad6574d74d6d5dc3.jpg

 配置方式:登录线程组下配信息头管理器、cookie管理器,正则提取cookie。

解题过程

1通过调试器打印提取的cookie,就是响应中返回的这一个参数值,说明正则提取方式正确。是Jmeter中本身响应的cookie参数就少了。

2登录接口调通,说明入参正确。考虑是与cookie相关的配置不对。

3检查/bin目录下的jmeter.properties文件743abb4c2cff49f5a7aae967d2400ac7.pngf79110a8c68242deb8b3f5a4ae63e09a.png“#CookieManager.save.cookies=false”修改为“CookieManager.save.cookies=true”且去掉注释“#”。修改后保存文件。

要存cookie,这里必须改为true,这一步很关键,确实原来是false。

再次用jmeter请求,响应的cookie还是一个参数。

4在线程组下尝试加Http缓存管理器,没变化。到这里有点麻木摸不着北,和cookie相关的配置该加的都加了,实在想不到还有哪里不对。

5 Jmeter请求方式的坑

登录接口是用form-data方式请求,Jmeter中是用multipart/form-data方式。

偶然的尝试,改用application/x-www-form-urlencoded请求,居然响应里返回了cookie的3个参数,全了。这太不科学了!

因为在postman中就是按接口格式form-data请求,能拿到全的cookie参数。但jmeter用同样的方式、同样的入参,却拿到cookie参数少,要改成用application/x-www-form-urlencoded才行。这是Jmeter的一个坑啊😂

希望给大家一些思路。

 

 

 

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值