Jmeter HTTP Cookie管理器的使用

目录

前言:

1、在HTTP信息头管理器组件中添加Cookie信息

(1)测试计划内包含的元件

(2)请求取样器内容

(3)HTTP信息头管理器内容

(4)查看结果

2、使用HTTP Cookie管理器组件来管理Cookie信息

(1)测试计划内包含的元件

(2)HTTP Cookie管理器内容

(3)HTTP请求组件的内容

3、查看HTTP Cookie管理器组件中自动存储的Cookie信息


前言:

在进行Web应用程序测试时,经常需要使用HTTP Cookie来维护用户会话状态。JMeter提供了Cookie管理器,使得测试人员可以轻松地管理HTTP Cookie。

1、在HTTP信息头管理器组件中添加Cookie信息

实现步骤:

  1. 前提我们手动登陆电商网站,地址:

    http://www.testingedu.com.cn:8000/index.php/Home/user/login.html。

  2. 然后通过工具获取到登陆后的Cookie数据。

  3. 把Cookie数据存储到HTTP信息头管理器组件中。

  4. 直接查看该用户的购物车数据。

提示:关于该网站登陆授权的Cookie信息就是PHPSESSID,我们只保存这一条Cookie即可。

(1)测试计划内包含的元件

添加元件操作步骤:

  1. 创建测试计划。

  2. 创建线程组:选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组。

  3. 在线程组中添加配置元件"HTTP信息头管理器"组件:选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP信息头管理器。

  4. 在线程组里面添加取样器“HTTP请求”组件:选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求。

  5. 在线程组里面添加监听器“察看结果树”组件:查看结果,选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树。

最终测试计划中的元件如下:

点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。

(2)请求取样器内容

如下图所示:

两个HTTP请求取样器的内容是一样的,只不过有Cookie的请求前加了HTTP信息头管理器组件。

(3)HTTP信息头管理器内容

我们在请求头中添加上Cookie信息,如下图所示:

当然我们可以用HTTP Cookie管理器组件来替换HTTP信息头管理器组件。

如下图所示:

两种方式下效果是一样的,我更喜欢使用HTTP信息头管理器组件。

(4)查看结果

我们现在查看没带Cookie信息的请求结果,发现返回数据提示看不到购物车的内容。

如下图所示:

 我们再来看一下带Cookie信息的请求结果,发现可以看到购物车中的信息,如下图所示:

2、使用HTTP Cookie管理器组件来管理Cookie信息

实现步骤:

  1. 我们在JMeter中进行登陆操作。

  2. 通过HTTP Cookie管理器组件来记录下登陆后的Cookie信息。

  3. 再调用查看购物车接口,自动使用HTTP Cookie管理器组件中记录下来的Cookie信息。

  4. 最终实现查看该用户的购物车数据。

提示:关于该网站登陆授权的Cookie信息就是PHPSESSID,我们只保存这一条Cookie即可。

(1)测试计划内包含的元件

添加元件操作步骤:

  1. 创建测试计划。

  2. 创建线程组:选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组。

  3. 在线程组中添加配置元件"HTTP Cookie管理器"组件:选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP Cookie管理器。

  4. 在线程组里面添加取样器“HTTP请求”组件:选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求。(如有多个请求,添加多次)

  5. 在线程组里面添加监听器“察看结果树”组件:查看结果,选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树。

最终测试计划中的元件如下:

点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。

(2)HTTP Cookie管理器内容

什么都不用填写,保持原样即可。

简单说明一下:

  • JMeter中自动收集的Cookie,是不会在HTTP Cookie管理器中进行展示的,但是运行后通过查看结果树可以查看到Cookie信息,接受到的Cookie会被自动存储在线程变量中。(使用Debug Sampler组件)

  • HTTP Cookie管理器会自动记录每一个请求所产生的Cookie,在后边对同源站点进行的请求中,都可以使用对应的Cookie进行发送。

(3)HTTP请求组件的内容

1)登陆请求界面内容

填写好请求地址和请求参数,如下图所示:

2)查看购物车请求界面内容

查看购物车接口,没有请求参数,我们使用Get请求就可以。其中的Cookie信息,会自动添加到请求头信息中。

如果没有添加HTTP Cookie管理器组件,则该请求的请求头信息中不会带有Cookie信息,会显示[no cookies]。

我们可以看到,两个请求都请求成功了。登陆请求中是没有Cookie信息的,登陆之后服务端会返回Cookie信息给客户端。而HTTP Cookie管理器组件保存了这些Cookie信息,并应用于之后的接口请求中,所以在查看购物车请求中,我们看到了Cookie数据。

3、查看HTTP Cookie管理器组件中自动存储的Cookie信息

前面我们说过,JMeter中自动收集的Cookie信息,是不会在HTTP Cookie管理器中进行展示,接受到的Cookie信息会被自动存储在线程变量中。

如果我们需要查看或引用这些Cookie信息怎么办?

(1)修改JMeter.property文件

修改jmeter/bin/jmeter.properties文件,把CookieManager.save.cookies属性打开,意思是保存Cookie数据到线程变量中。

操作如下:

CookieManager.save.cookies=true   # 取消注释,false修改成true

(2)添加Debug Sampler取样器

添加Debug Sampler组件:选中“线程组”右键 —> 添加 —> 取样器 —> Debug Sampler。

我们以上面练习为例,添加完Debug Sampler组件后,测试计划中的元件如下:

(3)查看Debug Sampler组件中的结果

运行测试计划,然后在察看结果树中,查看Debug Sampler组件中的值。

如下图所示:

红框中的内容,就是登陆请求后,服务端返回给客户端的Cookie信息。

之后我们可以使用${COOKIE_名称}的方式,在其他的地方引用该Cookie信息。

JMeter.property文件中的CookieManager.name.prefix= 属性,能够用来修改默认的变量名COOKIE_的开头。

 作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步! 

留【自动化测试】即可

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

年度创新企业奖!移远通信成推动AIoT融合落地关键力量

6月8日,由ASPENCORE主办的2023国际AIoT生态发展大会在深圳召开,移远通信受邀出席大会并发表演讲,同时凭借在5G、AIoT等领域的持续创新荣获“年度创新企业”奖! 5GAIoT“双引擎” 重塑物联产业 近些年,从互联网、物联网…

Git->分支

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:Git ⭐如果觉得文章写的不错,欢迎点个关注一键三连😉有写的不好的地方也欢迎指正&#x…

11.vue3医疗在线问诊项目 - _药品订单 ==> 支付页面、支付详情、支付结果、订单详情、物流信息、高德地图工具

11.vue3医疗在线问诊项目 - _药品订单 > 支付页面、支付详情、支付结果、订单详情、物流信息、高德地图工具 药品订单-支付页面-路由 目标:配置路由,分析药品支付组件结构 1)路由与组件 {path: /medicine/pay,component: () >…

DHCP是什么?它有什么作用?其工作模式?工作原理?

目录 一、DHCP是什么?二、DHCP的作用?1. 在没有DHCP服务的网络中2. 在有DHCP服务的网络中 三、DHCP的工作模式简介四、DHCP的工作原理五、参考资料 一、DHCP是什么? DHCP是动态主机配置协议(Dynamic Host Configuration Protocol…

ASP.NET Core MVC 从入门到精通之Html辅助标签补充及模型校验基础

随着技术的发展,ASP.NET Core MVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容,适用于初学者,在校毕业生&#xff0c…

Oracle免费云设置Multi-factor Authentication

申请Oracle免费云账号的时候系统就强迫用户设置Multi-factor Authentication,我选择了OracleMobileAuthenticator作为2次认证工具。刚开始用还顺利,但用了一段时间后Oracle登录页面迟迟未向OracleMobileAuthenticator发送通知,要等非常久App才…

NLP——Ethics伦理

文章目录 Core NLP ethics conceptsbiasprivacy Group discussionAutomatic Prison Term PredictionAutomatic CV ProcessingLanguage Community Classification Core NLP ethics concepts 自然语言处理(NLP)的伦理问题是一个日益重要的领域&#xff0c…

速卖通,国际站,temu测评,补单策略:安全与效能并重,提高账号存活率

测评能够帮助卖家让亚马逊平台更喜欢自己的产品,给予更好排名的同时也让后续进入店铺的买家更容易认可自己的产品。这些真实评价在亚马逊卖家管理系统中被称为Review Feedback。这是进行真实交易后形成的评价,而不是通过机器软件生成,形成虚拟…

Ansible

Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 Ansible能批量配置、部署、管理上千台主机。比如以前需…

智安网络|深谈网络安全难点的根源和解决之道

随着数字化和网络化的加速发展,人们面临的网络安全问题日益增多。由于网络安全威胁的多样性和复杂性,网络安全防护变得越来越困难。本文将从几个方面来探讨网络安全难点的根源和解决之道。 一. 网络安全威胁的复杂性 网络安全威胁种类繁多,主…

Aruco标签/二维码生成opencv-python

最近在做Aruco的时候发现,生成标签的时候死活不成功,后来发现是版本的问题 因为现在直接运行pip install opencv-contrib-python命令的时候发现,直接安装的版本是opencv-contrib-python4.7.0.72 下面分别提供4.6版本和4.7版本下生成标签的代码…

什么是AJAX?

AJAX是一种基于Web的技术,它允许Web应用程序在不刷新整个页面的情况下与服务器进行交互。通过AJAX,Web应用程序可以使用JavaScript向服务器发送异步请求并在不干扰用户的情况下更新页面的部分内容。 AJAX是Asynchronous JavaScript and XML的缩写。尽管…

nginx和tomcat负载均衡、静态分离

tomcat重要目录 bin 存放启动和关闭Tomcat脚本conf存放Tomcat不同的配置文件doc存放Tomcat文档lib存放Tomcat运行需要的库文件logs存放Tomcat执行时的log文件src存放Tomcat的源代码webappsTomcat的主要Web发布目录work存放jsp编译后产生的class文件 nginx负载均衡原理 nginx实…

【免配置】Qt的mingw使用编译opencv库

【免配置】Qt的mingw_32/64使用编译opencv库 网上在qt中使用mingw编译器配置opencv的时候,通常需要使用cmake编译工具,进行预先编译,步骤比较繁琐,这里推荐一个捷径,直接使用前人编译好的opencv库即可,避免…

面试题:完败的面试,被虐得体无完肤

经过上一轮的面试,我信心一下子就建立起来了,说巧不巧,前几周正好看到美团校招,想着试一下也不会怎样,就找了学长要了内推码,试着投递了一下,然后就通知周六参加笔试,结果惨不忍睹。…

节省时间、提升效率——Jetpack关爱你的摸鱼时间

JetPack Jetpack 是一个由 Google 提供的 Android 应用开发库集合。它旨在简化 Android 应用程序开发过程,提供一系列的库和工具,帮助开发者快速构建高质量、健壮、可扩展的 Android 应用。 Jetpack 包含多个组件,每个组件都专注于不同的功…

前端和后端分别是什么?

从技术工具来看: 前端:常见的 html5、JavaScript、jQuery... 后端:spring、tomcet、JVM,MySQL... 毕竟,如果这个问题问一个老后端,他掰掰手指可以给你罗列出一堆的名词来,比如设计模式、数据库…

《剑指 Offer--LeetCode 学习计划》-- 字符串

剑指 Offer 05. 替换空格&#xff08;Easy&#xff09; 题目描述 请实现一个函数&#xff0c;把字符串 s 中的每个空格替换成"%20"。限制&#xff1a;0 < s 的长度 < 10000。 举例说明 示例 1&#xff1a; 输入&#xff1a;s “We are happy.”。输出&…

基于Java+SpringBoot+Vue的校园交友网站的设计与实现

博主介绍&#xff1a; 大家好&#xff0c;我是一名在Java圈混迹十余年的程序员&#xff0c;精通Java编程语言&#xff0c;同时也熟练掌握微信小程序、Python和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下…

【全栈开发】基于Spring BootVueAndroid扫码授权登录

文章目录 一、引言二、设计1、移动端&#xff08;Android&#xff09;&#xff08;1&#xff09;库&#xff08;2&#xff09;依赖&#xff08;3&#xff09;使用 2、前端&#xff08;Vue&#xff09;&#xff08;1&#xff09;库&#xff08;2&#xff09;使用 3、后端&#x…