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额 ...
随机推荐
- 抓取Android崩溃日志
作为一个测试人员,特别是安卓的测试,由于系统版本的不同和手机本身各个品牌的优化和硬件的不同,会出现各种各样的崩溃. 记录崩溃的方式有很多种,比如使用录屏工具或文档进行记录,但是最简洁明了可以直接定位的 ...
- Unity 基于excel2json批处理读取Excel表并反序列化
excel2json是一款将Excel表格文件快速生成json和C#数据类的高效插件,详情了解如下: https://neil3d.github.io/coding/excel2json.html 该 ...
- Redis在Linux下的安装
一.下载地址 ①redis中文网下载地址:http://www.redis.cn/ ②百度云网盘下载地址:https://pan.baidu.com/s/1UQcF9V3lwA0fxquM_JFMZw ...
- Android集成JPush(极光推送)
目前只是简单的集成 1.在极光推送官网注册用户 2.创建应用 3.配置包名,获得APPKEY 去设置 输入应用包名 确定然后返回查看APPKEY 3.在应用中集成极光推送 用的jcenter自动集成的 ...
- XML--概念、约束、解析
概念 XML:可扩展标记语言 HTML:超文本标记语言 两者的区别: 1.语法结构类似,单语法要求不同 HTML不区分大小写,XML严格区分大小写 在HTML中,有时不严格,如果上下文清楚地显示出段落 ...
- Linux图形界面与命令行界面以及用户之间的转换
刚刚不小心进入了命令行界面,,,,,, ALT SHIFE F5 咋回去的呢 sudo startx 但是回去以后默认是root ,,,,,, 所以切换用户 su username//用户名 就可以切 ...
- Day01_SpringBoot
学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"乐优商城"获取视频和教程资料! b站在线视频 0.学习 ...
- 定义 WSGI 接口
# WSGI服务器调用 def application(environ,start_response): start_response('200 OK',[('Content-Type','text/ ...
- PHP imagecolorallocatealpha - 为一幅图像分配颜色和透明度
imagecolorallocatealpha — 为一幅图像分配颜色和透明度.高佣联盟 www.cgewang.com 语法 int imagecolorallocatealpha ( resour ...
- sockaddr_in & sockaddr
#define __SOCKADDR_COMMON(sa_prefix) sa_family_t sa_prefix##family 这个宏用于为套接字地址(socket addresses),如“ ...