jmeter怎样自动获取cookie
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter怎样自动获取cookie相关的知识,希望对你有一定的参考价值。
参考技术A 1,新建一个测试计划,然后添加一个"HTTP Cookie 管理器"(用来存储cookie)2,新建一个线程组,添加一个Sampler-->“HTTP 请求”(用来登录用的),添加一个Sampler-->“Debug Sampler”和监听器-->“察看结果树”,保存测试计划,关闭Jmeter
3,修改bin/jmeter.properties中的CookieManager.save.cookies=true,然后重新启动Jmeter
4,运行步骤2的测试计划,查看结果树,发现“Debug Sampler”节点中存在“COOKIE_”打头的变量,这个就是Jmeter自动存储的cookie(如图)
5,步骤4产生cookie之后,整个测试计划周期内"HTTP Cookie 管理器"会自动帮我们保存这些cookie,当然如果想要获取某个cookie的值也可以使用$COOKIE_对应key方式获取
6,步骤4中的cookie的key默认以“COOKIE_”是Jmeter默认提供的,如果想要以别的方式开始,可以给bin/jmeter.properties中的CookieManager.name.prefix=赋值即可(如:CookieManager.name.prefix=test)
JMeter提取登录的Cookie
参考技术A 用JMeter进行接口测试时,经常需要通过登录接口提取cookie才能进行其他业务流程,如果cookie/token是在登录请求的响应报文里,那么可以通过正则表达式直接提取出来,但是如果cookie不是在响应报文里,还可以怎么提取出来呢。通过分析发现,业务接口的请求头中带有cookie值,需要通过登录接口获取cookie后传递到其它接口的请求头中。
给带重定向的登录接口添加HTTP Cookie Manger,可以看到请求体里的cookie值。
要将Cookie存储为变量,首先需要先将/bin目录下jmeter.properties文件的“#CookieManager.save.cookies=false”修改为“CookieManager.save.cookies=true”且去掉注释“#”
在后续请求中,都可以看到请求头中带有传递的cookie值
以上是关于jmeter怎样自动获取cookie的主要内容,如果未能解决你的问题,请参考以下文章
jmeter手写脚本,使用正则获取cookie(禁用cookies管理器)