JMeter - 配置元件HTTP Cookie 管理器

在Jmeter做性能测试或接口测试时,当多个请求关联时需要处理Cookie。
Jmeter对Cookie进行存取的管理可以使用HTTP Cookie管理器组件。以下对HTTP Cookie管理器的使用进行说明。

场景:
用户登录后,查询打开某一个任务
jmeter 添加线程组并创键http请求,没有添加HTTP Cookie 管理器,执行后查看结果树,有报错如下。


image.png

选中线程组,添加HTTP Cookie 管理器,添加完成后显示如下


image.png

image.png

上述图中,添加了一个HTTP Cookie 管理器,对Cookie进操作,新增了一个JSESSIONID的cookie,具体的值是从变量中取出;另外域、路径必须要输入,尤其是域;因为Jmeter现版本默认不支持跨域的请求,不填的话设置的Cookie不会被带上。

接下来就是取Cookie的操作,通常取的Cookie都是从Response Header里取的,取的目的一般都是给另一个不同的线程来用,因为如果是同一个线程的不同次迭代的情况那么Jmeter会自动带上,无需我们设置。那么HTTP Cookie管理器是如何工作,如何取出cookie呢?

如果一个 HTTP 请求,返回结果中包含cookie信息,那么HTTP Cookie管理器会自动将该 cookie 保存起来,后续所有的对该网站的请求都使用同一个 cookie。所以 JMeter 的每个线程都有自己独立的"cookie 保存区域"。这些 cookie 不会显示在 HTTP Cookie管理器里,可以通过察看结果树来对其进行查看。

具体步骤如下:
1、进入jmeter的安装目录bin目录下,修改jmeter.properties文件
搜索找到CookieManager.save.cookies=true并设置为true,并保存
2、重启jmeter,再次打开jmeter
3、在需要取Cookie的线程组里添加一个HTTP Cookie 管理器,设置如上图
当执行脚本后,HTTP Cookie 管理器获取到的cookie就会被自动保存在变量里(具体的变量名格式为"COOKIE_xxxx","COOKIE_"为前缀),其中xxxx为具体的实际cookie名;这样在同一个线程内其它操作组件都是可以直接通过${COOKIE_xxxx}来获取 cookie值。如果不希望这个前缀可以对属性 "CookieManager.name.prefix=" 进行定义。

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 主要文体来自 CDNS:https://www.cnblogs.com/ceshisanren/p/5639895...
    Amano阅读 11,079评论 3 27
  • 昨天带着儿子去游泳,教练一看到他就说这孩子根本不听我的,也不按我说的去做呀,真拿他没办法。 当我听到这些话,那颗争...
    水木的小院阅读 276评论 2 5
  • 月亮本是星一颗, 圆缺当如花开落. 缘何世人寄情思, 雪花片片浪朵朵?
    本无痕阅读 233评论 0 1
  • 整理,转自阿斯伯格群,括号内为笔者补充说明。 1. 比较聪明,智力较好。(笔者觉得还要看怎么定义聪明,AS在机械推...
    宇非门阅读 29,856评论 0 4