Jmeter系列(49)- 详解 HTTP Cookie 管理器
如果你想从头学习Jmeter,可以看看这个系列的文章哦
https://www.cnblogs.com/poloyy/category/1746599.html
简单介绍
功能一
- 首先,它像网络浏览器一样存储和发送 cookie
- 如果有一个HTTP请求,并且响应包含 cookie,则 cookie 管理器会自动存储该 cookie,并将其用于后面对该特定网站的所有请求
- cookie 管理自动存储的 cookie 不会出现在 Cookie Manager 的界面上,但是可以使用通过查看结果树看到它
功能二
- JMeter 会检查收到的 Cookie 是否对该URL有效,这意味着不会存储跨域 Cookie
- 如果有错误的行为或希望使用跨域cookie,请定义 JMeter 属性
CookieManager.check.cookies = false
功能三
- 收到的 Cookies 可以自动存储为 JMeter 线程变量
- 要将 cookie 保存为变量,请定义 JMeter属性
CookieManager.save.cookies = true
- Cookie 自动存储为 Jmeter 线程变量的名称前缀默认是 COOKIE_
- 如果要自定义前缀可以修改 Jmeter 属性 CookieManager.name.prefix = ****
功能四
- 可以将 Cookie 手动添加到 Cookie Manager
- 自定义 Cookie 将被所有 JMeter 线程共享
- 自定义 Cookie 的过期时间会很长
功能五
- 默认情况下,空值的 Cookies 被忽略
- 可以通过设置 JMeter 属性来更改此设置 CookieManager.delete_null_cookies = false
HTTP Cookie Manager

HTTP Cookie Manager 界面介绍

字段介绍

单次循环实际栗子
项目背景
- 一个登录接口,一个添加课程接口
- 登录接口响应会返回一个Set-cookie,包含一个 sessionid,相当于用户凭证
- 发送添加课程接口需要传递包含 sessionid 的 Cookie 才能请求成功
Jmeter 属性设置(jmeter.properties 文件)

线程组结构树

整体逻辑:登录请求成功响应后,HTTP Cookie 管理器会自动存储登录接口返回的 Cookie,后面的请求也能自动调用该 Cookie
线程组属性

HTTP Cookie 管理器

没有自定义的 Cookie
登录请求的响应内容

响应返回 Cookie
添加课程请求的响应内容

调试取样器,查看是否有自动将 Cookie 保存为 Jmeter 变量

有循环次数的实际栗子
线程组结构树

登录请求只会发送一次
线程组属性

循环 2 次
HTTP Cookie 管理器

勾选了【每次反复清除 Cookies】
查看结果树

第一个增加课程请求能成功发送并响应
第二个增加课程请求的响应内容

第二个增加课程请求会返回未登录状态
重点
如果勾选了【每次反复清除 Cookies】,那么每次循环之后都会清除 Cookie 管理器自动存储的 Cookie
注意事项
- 如果一个采样器(Sampler)同级下有多个 Cookie 管理器,则无法指定当前要使用哪个 Cookie 管理器
- 另外,存储在一个 Cookie 管理器中的 Cookie 对其他任何管理器均不可用,因此请谨慎使用多个cookie管理器
Jmeter系列(49)- 详解 HTTP Cookie 管理器的更多相关文章
- 详解python包管理器pip安装
pip对于使用python的朋友并不陌生,当你想安装python模块的时候一定会首先想到它.pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品. 今天来说 ...
- jmeter 基础功能详解
jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...
- 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程
反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) 背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...
- 『动善时』JMeter基础 — 20、JMeter配置元件【HTTP Cookie管理器】详细介绍
目录 1.HTTP Cookie管理器介绍 2.HTTP Cookie管理器界面详解 3.JMeter中对Cookie的管理 (1)Cookie的存储 (2)Cookie的管理策略 4.补充:Cook ...
- JMeter HTTP Cookie管理器的跨域使用
Jmeter的一个测试计划只能有一个cookie管理器,当多个manager同时存在时,无法指定是用的哪一个manager.如果想让cookie manager跨域使用,修改JMeter.proper ...
- JMeter学习-012-JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录
前文我们讲过了若何获取登录后的 Cookie 信息,不知如何获取登录 Cookie 的朋友,敬请参阅我之前写的博文:Fiddler-005-获取 Cookie 信息.参阅上篇文章,获取到 Cookie ...
- jmeter cookie管理器 使用方法---新手学习记录1
首先得抓包: 我已post方法为例: POST /api/datasources/lemontest/jaql HTTP/1.1 Host: 192.168.1.107:8081 Content-Le ...
- Jmeter常用功能详解
嘻嘻,忙碌的一周,马上就到周四了~明天就是周五了,可以去嗨了! 这几天正式成立了一个微信订阅号,旨在免费帮助需要入门软件测试的小白! 各位走过路过的亲,欢迎订阅哦:扫描二维码即可订阅
- PHP输出缓存ob系列函数详解
PHP输出缓存ob系列函数详解 ob,输出缓冲区,是output buffering的简称,而不是output cache.ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额 ...
随机推荐
- redis pipelined 示例
redis 常用的数据类型 有序集合(sort set).无序集合 (set),hashMap redis pipelined 示例 List<Object> list = jedisTe ...
- js原型、原型链
之前有说过继承,在js中没有类,所以在new的后面,放的是构造函数,在构造函数中有一个属性prototype,js的继承全靠它. 在js中对象的类型有很多,常见的就是普通对象,和函数对象,在对象中都会 ...
- Docker 概念-2
Docker 是什么? 说了这么多, Docker 到底是个什么东西呢?我们在理解 Docker 之前,首先得先区分清楚两个概念,容器和虚拟机. 可能很多读者朋友都用过虚拟机,而对容器这个概念比较的陌 ...
- nginx配置多个图片访问路径
需求:vue项目打包的时候 会将项目中的一些图片打包到/dist/static/images下,但是有时候会有一些很大的图片,需要单独存放至别的文件夹比如/home/di-img下,不能被打倒包内.部 ...
- python为什么这么火?里面肯定是有原因的
因为人生苦短要用python啊! 看完本文,你将在结尾得到本文的一个福利彩蛋 你瞧瞧其他语言之父... Java之父——James Gosling PHP之父 ——Rasmus Lerdorf Obj ...
- CORS跨域操作cookie
CORS 跨域 在服务端设置响应头 ACAO( Access-Control-Allow-Origin )即可 前端代码,运行在 8080 端口上 $.ajax({ url:'http://local ...
- SpringSecurity匹配规则介绍
SpringSecurity匹配规则一 URL匹配 requestMatchers() 配置一个request Mather数组,参数为RequestMatcher 对象,其match 规则自定义,需 ...
- Python os.tempnam() 方法
概述 os.tempnam() 方法用于返回唯一的路径名用于创建临时文件.高佣联盟 www.cgewang.com 语法 tempnam()方法语法格式如下: os.tempnam(dir, pref ...
- PHP restore_error_handler() 函数
定义和用法 restore_error_handler() 函数恢复之前的错误处理程序. 该函数用于在通过 set_error_handler() 函数改变后恢复之前的错误处理程序. 该函数总是返回 ...
- PHP ignore_user_abort() 函数
实例 设置为 false(默认)- 与客户机断开会终止脚本的执行: <?phpignore_user_abort();?>高佣联盟 www.cgewang.com 上面代码的输出如下: 0 ...