【P5】JMeter HTTP Cookie管理器

news2024/11/24 0:46:09

文章目录

  • 一、测试网站
  • 二、Cookie 设置规则
    • 2.1、无配置元件时,Cookie 不会自动设置(与线程组设置无关)
    • 2.2、有配置元件,不选任何参数时,Cookie 自动设置(与线程组设置无关)
    • 2.3、有配置元件,选上清空策略时,优先取配置元件(每一次迭代会清空 Cookie,与线程组设置无关)
    • 2.4、有配置元件,选择参考线程组时,看线程组设置(分2种情况)
    • 2.5、Cookic 是作用在线程级别的,不同线程的 Cookie 彼此完全独立
    • 2.6、通过 CookieManager.save.cookies=true 可以将 Cookie 保存为变量,名称固定以 COOKIE_ 开头可通过 CookieManager.name.prefix 定义
    • 2.7、可以加入一些自定义 Cookie


一、测试网站

慕慕生鲜: http://111.231.103.117/#/login

  • 页面提供登录了用户名和密码

  • 按F12或右键检查,网络中获取登录信息

在这里插入图片描述

二、Cookie 设置规则

2.1、无配置元件时,Cookie 不会自动设置(与线程组设置无关)

(1)、Test Plan 右键 <<< 添加 <<< 配置元件 <<< HTTP请求默认值

在这里插入图片描述

  • 协议:http

  • 服务器名称或IP:111.231.103.117

  • 端口:8083

  • 内容编码:utf-8

  • 高级中可以设置超时(毫秒),连接:5000;响应:1000

(2)、网页调试工具中,点击标头,找到请求标头,全部选中,复制

(3)、Test Plan 右键 <<< 添加 <<< 配置元件 <<< HTTP信息头管理器 <<< 从剪切板添加(会自动添加好)

在这里插入图片描述

(4)、Test Plan 右键 <<< 添加 <<< 线程(用户)<<< 线程组

在这里插入图片描述

(5)、线程组右键 <<< 添加 <<< 取样器 <<< HTTP请求 <<< 从剪切板添加(会自动添加好)

在这里插入图片描述

  • 请求方法:GET

  • 路径:/login

  • 添加参数,用户名和密码

(6)、线程组右键 <<< 添加 <<<监听器 <<< 查看结果树

(7)、点击启动

在这里插入图片描述

在这里插入图片描述

  • 第一个和第二个请求为同一个线程,因为循环迭代两次,所以第二个请求还是在同一个线程里。同理,第三个和第四个请求为同一个线程

  • 可以看到,第一次 HTTP请求中的响应数据,响应头中返回了一个 Cookie

  • 第二次再次方式 HTTP请求时,在请求的请求体中并没有带 Cookie

(8)、取消勾选线程组中的 Same user on each iteration,再次运行

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

没有配置元件(HTTP Cookie管理器),Cookie 不会自动设置,线程组中的 Same user on each iteration 勾不勾选意义不大

2.2、有配置元件,不选任何参数时,Cookie 自动设置(与线程组设置无关)

(1)、Test Plan 右键 <<< 添加 <<< 配置元件 <<< HTTP Cookie管理器

在这里插入图片描述

  • 自定义一个 Cookie

(2)、线程组不勾选 Same user on each iteration,启动

在这里插入图片描述

(3)、线程组勾选 Same user on each iteration,启动

在这里插入图片描述

(4)、点击查看结果树,查看请求信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 第一个和第二个请求为同一个线程,因为循环迭代两次,所以第二个请求还是在同一个线程里。同理,第三个和第四个请求为同一个线程

  • 前两个请求为线程组勾选了 Same user on each iteration,后两个为线程组未勾选 Same user on each iteration

  • 第一个 Cookie 为自定义设置的,红框中的为请求所返回的响应头中的 Cookie

有配置元件(HTTP Cookie管理器),Cookie 会自动设置,线程组中的 Same user on each iteration 勾不勾选意义不大

2.3、有配置元件,选上清空策略时,优先取配置元件(每一次迭代会清空 Cookie,与线程组设置无关)

(1)、HTTP Cookie管理器勾选每次反复清除Cookies?

在这里插入图片描述

(2)、线程组不勾选 Same user on each iteration,启动

在这里插入图片描述

(3)、线程组勾选 Same user on each iteration,启动

在这里插入图片描述

(4)、点击查看结果树,查看请求信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 第一个和第二个请求为同一个线程,因为循环迭代两次,所以第二个请求还是在同一个线程里。同理,第三个和第四个请求为同一个线程

  • 前两个请求为线程组未勾选了 Same user on each iteration,后两个为线程组勾选 Same user on each iteration

  • 第一个 Cookie 为自定义设置的,可以看到只有一个自定义的 Cookie

有配置元件(HTTP Cookie管理器),选择清空策略时,Cookie 不会自动设置,线程组中的 Same user on each iteration 勾不勾选意义不大

2.4、有配置元件,选择参考线程组时,看线程组设置(分2种情况)

(1)、HTTP Cookie管理器勾选 Use Thread Group configuration
to control cookie clearing

在这里插入图片描述

(2)、线程组不勾选 Same user on each iteration,启动

在这里插入图片描述

(3)、线程组勾选 Same user on each iteration,启动

在这里插入图片描述

(4)、点击查看结果树,查看请求信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 第一个和第二个请求为同一个线程,因为循环迭代两次,所以第二个请求还是在同一个线程里。同理,第三个和第四个请求为同一个线程

  • 前两个请求为线程组未勾选了 Same user on each iteration,后两个为线程组勾选 Same user on each iteration

有配置元件(HTTP Cookie管理器),选择参考线程组时(Use Thread Group configuration to control cookie clearing),线程组中的 Same user on each iteration 才会生效,勾选后 Cookie 会自动设置。参考第四个请求信息

2.5、Cookic 是作用在线程级别的,不同线程的 Cookie 彼此完全独立

(1)、线程组设置线程数为2,循环次数为3

在这里插入图片描述

(2)、HTTP请求在名称处,添加 ${__threadNum} 用于获取线程号,点击启动

在这里插入图片描述

(3)、点击查看结果树,查看请求信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 第一个线程的三个请求,当第一个请求响应头返回 Cookie 后,后续此线程的第二个和第三个请求,会自动设置此 Cookie

  • 第二个线程所返回的 Cookie 和第一个线程所返回的 Cookie 不一致

不同的线程,会获取不同的 Cookie

2.6、通过 CookieManager.save.cookies=true 可以将 Cookie 保存为变量,名称固定以 COOKIE_ 开头可通过 CookieManager.name.prefix 定义

将获取的 cookie 保存并变成一个变量,后续可以方便使用这个 cookie 变量

(1)、在 Jmeter 安装路径下,打开 bin 目录,编辑 jemeter.properties,将 CookieManager.save.cookies 设置为 true,并去掉 #

在这里插入图片描述

(2)、线程组右键 <<< 添加 <<< 后置处理器 <<< Debug PostProcessor(调试后置处理程序)

Debug PostProcessor(调试后置处理程序):将一些属性变量打印出来
在这里插入图片描述

(3)、清空全部后,点击启动,点击查看结果树

在这里插入图片描述

  • 将请求的属性变量打印出来,点开后,在响应数据 <<< Response Body 中可查看

  • 一个 COOKIE_JSESSIONID 变量,存储着 Cookie 信息

  • 只要请求的 Response headers 响应头中有 Set-Cookie,就会相对应注册一个变量

(4)、线程组右键 <<< 添加 <<< 后置处理器 <<< JSR223 PostProcessor(JSR223 后置处理程序)

在这里插入图片描述

log.info("获取 cookie:"+vars.get("COOKIE_JSESSIONID"));

(5)、选项菜单中,点击日志查看,打开日志,清除全部后,启动

在这里插入图片描述

日志打印出了 cookie,可以使用 COOKIE_JSESSIONID 变量获取到 cookie

2.7、可以加入一些自定义 Cookie

(1)、在 HTTP Cookie管理器中设置自定义的 cookie

在这里插入图片描述

  • 名称、值:随意设置

  • 域:IP 或者域名

  • 路径:/

(2)、清除全部,点击启动,点击查看结果树,查看 cookie 信息

在这里插入图片描述

在请求的请求 <<< Request Body 下,有两个 cookie,其中第一个为自定义的 cookie,第二个为请求响应头中返回的 cookie

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/489873.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【iOS KVO(上)实现过程】

前言 KVO 也适用于传值&#xff0c;在之前的学习只是学习了KVO的传值&#xff0c;今天详细学习 监听和实现 源码放在下一节学习 1.1 KVO KVO&#xff08;Key-Value Observing&#xff09;是Objective-C语言中一种观察者模式的实现&#xff0c;可以用来监听对象属性值的变化…

Kafka基础概念介绍

背景 Kafka是我们项目用的最多的消息中间件&#xff0c;但里面也有很多存在的问题&#xff0c;如重复消费、带宽瓶颈、部分分区消费不下来的异常场景。 重复消费问题有些让人头疼&#xff08;reblance导致offset提交失败&#xff09;&#xff0c;这里会持续更新&#xff08;基…

UML简介与类图详解

1 UML简介 1.1 UML是什么 UML&#xff0c;全称为Unified Model Language&#xff0c;即统一建模语言&#xff0c;是由一整套图表组成的&#xff0c;为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言。UML 代表了一组最佳工程实践&#xff0c;这些实践已被证明在…

【路径规划】基于哈里斯鹰优化算法的栅格法路径规划 机器人路径规划【Matlab代码#20】

文章目录 1. 原始HHO算法2. 机器人路径规划环境创建3. 路径规划模型建立4. 部分代码展示5. 仿真结果展示6. 资源获取方式 1. 原始HHO算法 详细介绍此处略&#xff0c;可参考HHO算法介绍 2. 机器人路径规划环境创建 对机器人工作空间的进行环境建模是机器人路径规划研究的重要…

【电源专题】案例:拆一个早期用的万能充看看内部状况

说到万能充,可能存在80/90后的记忆里。以前手机都可以更换电池的,所有往往都是买两块,一块在手机内部使用,另一块在万能充充电。 万能充的外观也是大同小异的,从网上找了一些图片: 这东西现在日常生活已经都看不到了,关键因素之一应该是现在的手机电池都是不可拆…

多维图像去噪方法研究

一、背景介绍 由于传感器技术的快速发展&#xff0c;高光谱&#xff08;HS&#xff09;遥感&#xff08;RS&#xff09;成像为飞机等数据采集设备远距离观测和分析地球表面提供了大量的空间和光谱信息&#xff0c;航天器和卫星。 HS RS 技术的最新进展甚至革命为实现各种应用的…

【ONE·C++ || set和map(一)】

总言 主要介绍set和map的基本框架和使用 文章目录 总言1、部分接口介绍和使用举例1.1、序列式容器和关联式容器、键值对1.1.2、pair键值对 1.2、set基本介绍1.2.1、set::set、遍历1.2.2、set::insert、set::erase、set::find1.2.3、set::count、set::lower_bound、set::upper_…

数据结构与算法基础(青岛大学-王卓)(1)

士别三日当刮目相待&#xff0c;不好意思鸽了好久了&#xff0c;因为学习的时间不连续&#xff0c;所以我一直攒着&#xff0c;我又回来继续更新了 没有继续学习浙大的数据结构了&#xff0c;对比了青岛大学的王老师的这个教程我觉得更适合我一些&#xff0c;更入门&#xff0…

【Spring篇】Spring整合

&#x1f353;系列专栏:Spring系列专栏 &#x1f349;个人主页:个人主页 目录 一、Spring整合 1.Spring整合Mybatis思路分析 1.环境准备 2.整合思路分析 2.Spring整合Mybatis 3.Spring整合Junit 1.环境准备 2.整合Junit步骤 二、图书推荐 1.《元宇宙Ⅱ&#xff1a;图…

Ubuntu安装MySQL

一.安装MySQL服务器 安装MySQL服务器&#xff1a; apt-get install mysql-server 对MySQL进行初始化&#xff0c;设置密码&#xff1a; mysql_secure_installation 注意&#xff0c;这里要设置密码的最低长度为8位&#xff0c;如果你设的密码小于8位&#xff0c;则会提示&am…

有趣工具合集小程序-做你的小树洞小程序

有趣工具合集小程序-做你的小树洞 今天闲来无事&#xff0c;发现了一个有趣的小程序-做你的小树洞&#xff0c;包含ChatGpt小机器人、抛硬币、手持弹幕、亲戚计算器、藏头诗、唐诗三百首、歇后语以及猜谜语等功能 小程序总体界面是这样的 1.藏头诗 这个小程序里边有很多有趣…

Redis的哨兵和集群模式

哨兵模式# 哨兵模式是redis高可用的实现方式之一 使用一个或者多个哨兵(Sentinel)实例组成的系统&#xff0c;对redis节点进行监控&#xff0c;在主节点出现故障的情况下&#xff0c;能将从节点中的一个升级为主节点&#xff0c;进行故障转义&#xff0c;保证系统的可用性。 哨…

【Qt5】多线程串口

文章目录 原版代码工程增加QCustomplot实时画图的源码工程源码 原版代码工程 源码下载链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/15pWzadPwOx_OfJGtvL-MjA 提取码&#xff1a;lief –来自百度网盘超级会员V5的分享 增加QCustomplot实时画图的源码工程 源码&…

【Mybatis】增删改查

1.添加相应的jar包 2.创建持久化类 在src目录下创建一个名为com.mybatis.po的包 创建持久化类MyUser,包含三个属性&#xff08;uid,uname,usex) package com.mybatis.po; /***springtest数据库中user表的持久化类*/ public class MyUser {private Integer uid;//主键private…

滴水逆向三期笔记与作业——02C语言——02数据类型

海哥牛逼 这里写自定义目录标题 一、C语言如何变成汇编1、裸函数 二、调用约定1、常见的几种调用约定 三、程序的真正入口四、数据类型4.1 C语言中的数据类型 作业 一、C语言如何变成汇编 1、裸函数 裸函数使用特殊方式定义&#xff0c;编译器和连接器并不会为其生成提升堆栈…

华为网工实验(VRRP多网关负载分担,OSPF基础操作)

采用VRRP多网关负载分担实现流量的负载均衡 配置思路&#xff1a;首先配置各个接口ip,让设备间能够实现通信&#xff0c;采用OSPF协议实现通信&#xff0c;然后AR2 AR3创建两个备份组&#xff0c;主备不同的两个备份组 组网图 #先设备命名并配置IP&#xff0c;三台设备类似&a…

路由器拨号密码恢复

背景 路由器拨号上网的密码因时间久远遗忘了&#xff0c;恢复并记录下过程。 步骤 1&#xff0c;安装wireshark choco install wireshark -y 注意 实践发现wireshark安装后&#xff0c;启动提示还需要安装Npcap 或者 Winpcap, 不过&#xff0c;在winpcap官网提示它已不再开…

虚拟机的克隆

第一步&#xff1a; 虚拟机右击 -> 管理 ->克隆 第二步&#xff1a; 在这一步勾选创建完整克隆&#xff0c;其他的都下一步 第三步 1.修改 mac地址 点击生成&#xff0c;就会生成一个随机的mac地址 2.修改主机名 vim /etc/hostname 修改完主机名后 reboot 重启虚拟机…

C++ STL学习之【优先级队列】

✨个人主页&#xff1a; 北 海 &#x1f389;所属专栏&#xff1a; C修行之路 &#x1f383;操作环境&#xff1a; Visual Studio 2019 版本 16.11.17 文章目录 &#x1f307;前言&#x1f3d9;️正文1、优先级队列的使用1.1、基本功能1.2、优先级模式切换1.3、相关题目 2、模拟…

蛋白质界的 ChatGPT:AlphaFold1 论文必备知识,不会有人还不知道吧

你知道 AlphaFold2 吗&#xff1f;它真正解决了蛋白质三维结构预测的算法困境&#xff0c;堪称蛋白质界的 chat-GPT4&#xff0c;甚至它的意义不是 chat-GPT4 所能够匹敌的。它为世界疾病治疗药物开发以及探究生物生命之谜提供了通向天神的一条道路&#xff0c;未来是生物的世纪…