配置元件之HTTP Cookie Manager 介绍

 

by:授客 QQ1033553122

测试环境

apache-jmeter-2.13

1.   Cookie管理器介绍

Cookie Manager (Cookie管理器)有两个功能:

1、像web浏览器一样存储和发送cookie.如果首次向指定服务器站点发起一个http请求,服务器响应结果中包含cookie,那么Cookie Manager会自动存储那个服务器下发的cookie,并在向该服务器站点的发起后续请求中自动使用存储的cookie。每个JMeter线程都有自己的cookie存储区,所以在测试使用cookie存储会话信息的web站点时,每个线程都有自己的会话。注意,这类cookie是不会展示在Cookie管理器控制面板中的,我们可以通过View Results Tree查看。

JMeter 2.3.2及更早的版本中,不会检查接收的cookie针对URL是否合法,这意味着跨站cookie也会被存储并供后续请求使用。 之后新版本中如果不想JMeter校验cookie合法性,可修改bin目录下的JMeter.properties文件,设置CookieManager.check.cookies=false,否则设置为false

接收到的Cookies可以存储为JMeter线程变量(2.3.2版本之后默认不存储为变量)。如果想存储Cookie为变量,可以修改JMeter.properties文件,设置CookieManager.save.cookies=true,否则设置为false。默认的存储的变量为COOKIE_cookie_name。前缀“COOKIE_”可通过修改JMeter.properties文件,设置CookieManager.name.prefix=prefix_name来调整,如果想按默认值则注释该行或者设置CookieManager.name.prefix值为1到多个空格

2、可以手工添加cookie到Cookie管理器。然而,手工添加的cookie为所有JMeter线程共享。2.0.3版本起,携带空值的cookie默认的会被JMeter忽略。可以通过修改JMeter.properties文件,设置CookieManager.delete_null_cookies=false修改(为true则忽略,false不忽略)注意这对手动添加的cookie同样适用。cookie名称必须唯一,如果设置了第二个同名的cookie,那么使用时将替换第一个,也就是说,使用的是控制面板中从上往下最后一个同名cookie

注意:不要使用多个Cookie Manager,JMeter无法识别

2.   添加线程组

右键测试计划->添加->配置元件->HTTP Cookie 管理器


3.  


控制面板介绍

添加后,面板如下

l

每次反复清除Cookie(Clear
Cookies each Iteration)-

如果选中了,每次主线程组执行都会清除服务端下发的cookie。自2.3版本起,不会被清除任何手工定义的cookie。如果不是模拟新会话,建议不勾选

l

Cookie Policy -
设置管理cookie的策略,默认为"compatibility",可满足大部分情况[注意:"ignoreCookies"等价于忽略Cookie管理器]

l

Implementation -
默认为HC3CookieHandler,如果是web站点地址IPv6,选择HC4CookieHandler

l

domain  -
服务器域名(不携带http://);

当前端口port被忽略

注意域名一定要写,否则不起作用,即不会随着请求发送

l

添加、删除-

添加或删除一条cookie记录

l

载入\保存测试计划

-
从文件加载cookie设置,或者导出表中的cookie到文件


4.  


实践
举例

配置如下

注:HTTP1请求和HTTP请求2一样,仅元件名称不一样

注:HTTP1请求和HTTP请求3一样,仅元件名称和请求参数不一样

查看运行结果(只运行1个线程):

参考连接:http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Cookie_Manager

JMeter 配置元件之HTTP Cookie Manager 介绍的更多相关文章

  1. JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录

    下面以购物App常用的收藏功能为例,讲述如何在 JMeter 中使用 cookie 进行登录态操作.具体的操作步骤如下所示: 第一步.录制查看收藏列表的 HTTP请求: 录制查看收藏列表的HTTP请求 ...

  2. 『动善时』JMeter基础 — 20、JMeter配置元件【HTTP Cookie管理器】详细介绍

    目录 1.HTTP Cookie管理器介绍 2.HTTP Cookie管理器界面详解 3.JMeter中对Cookie的管理 (1)Cookie的存储 (2)Cookie的管理策略 4.补充:Cook ...

  3. JMeter学习-012-JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录

    前文我们讲过了若何获取登录后的 Cookie 信息,不知如何获取登录 Cookie 的朋友,敬请参阅我之前写的博文:Fiddler-005-获取 Cookie 信息.参阅上篇文章,获取到 Cookie ...

  4. JMeter 配置元件之随机变量(RandomVariable)介绍

    配置元件之随机变量(Random Variable)介绍   by:授客 QQ:1033553122 测试环境 apache-jmeter-3.2 1. 计数器简介 允许用户创建一个在线程组范围之内都 ...

  5. JMeter--详解JMeter配置元件

    JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用.将在其作用域的初始化阶段处理. CSV Data Set Config:被用来从文件中读取数据,并将它们拆分后存储到变量中,适合处理 ...

  6. JMeter学习笔记--详解JMeter配置元件

    JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用.将在其作用域的初始化阶段处理. CSV Data Set Config:被用来从文件中读取数据,并将它们拆分后存储到变量中,适合处理 ...

  7. Jmeter(八) - 从入门到精通 - JMeter配置元件(详解教程)

    1.简介 JMeter配置元件可以用来初始化默认值和变量,读取文件数据,设置公共请求参数,赋予变量值等,以便后续采样器使用.将在其作用域的初始化阶段处理.配置元件(Config Element)提供对 ...

  8. JMeter—配置元件(七)

    参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第二节配置元件JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用.将在其作用域的初始化阶段处理. ...

  9. Jmeter配置元件——CSV DataSet Config参数化

    在聊CSV DataSet Config配置元件前,先来讨论下为何要参数化? 比如在做性能测试过程中, 一般我们需要模拟多个用户进行操作, 为了满足实际场景, 模拟真实的用户行为, 我们需要做到模拟的 ...

随机推荐

  1. Python-OpenCV 图像叠加加权实现

    函数说明 cv2.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]]) → dst 1 参数说明 src1 – first input ...

  2. 3-7 Vue中的列表渲染

     举个案例:循环data中的list的值在div中,并显示相应的index值. 关于数组的循环: //显示效果如下图: //一般的列表渲染最好带一个key值,要把key值设置为唯一值的话,可以选择in ...

  3. 【hadoop】1、MapReduce进行日志分析,并排序统计结果

    1.网上很多关于搭建Hadoop集群的知识,这里不多做叙述,并且本机运行Hadoop程序是不需要hdfs集群的,我们本机运行只做个demo样式,当真的需要运行大数据的时候,才需要真正的集群 2.还有就 ...

  4. Flask依赖和启动流程回顾

    flask 有两个核心依赖库:werkzeug 和 jinja,而 werkzeug 又是两者中更核心的. werkzeug werkzeug负责核心的逻辑模块,比如路由.请求和应答的封装.WSGI ...

  5. ZOJ Problem Set - 1730 Crazy Tea Party

    #include<cstdio> int main(){ int T,n; scanf("%d",&T); while(T--){ scanf("%d ...

  6. Android Handler 机制总结

    写 Handler 原理的文章很多,就不重复写了,写不出啥新花样.这篇文章的主要是对 handler 原理的总结. 1.Android消息机制是什么? Android消息机制 主要指 Handler ...

  7. QT 完美实现圆形按钮

    QT 版本:5.6.0 官方的按钮有些普通,如果我们想要换成自己喜欢的按钮而却无从下手,那么请继续往下阅读(皮一下). 首先,可以在网络上搜索一下自己喜欢的按钮图形(或者可以自行绘制),我以下面的图形 ...

  8. 用 pyinstaller 打包含xpinyin 库的Python程序

      在文章用 pyinstaller 打包含有 pinyin 库的程序中,给出了如何使用pyinstaller 打包含xpinyin 库的Python程序的方法,能生成可运行的exe文件.本文将会给出 ...

  9. [android] 采用layoutInflater打气筒创建一个view对象

    上一节知道了ListView的工作原理,数据也展示出来了,但是TextView显示的非常难看,如果想美化一下,就先创建好一个布局出来,这个布局采用了两层LinearLayout嵌套,外层的水平方向,内 ...

  10. laravel的时间日期处理包Carbon用法

    时间日期处理包--Carbon Carbon – 是继承自 PHP DateTime 类的 API 扩展,它使得处理日期和时间更加简单.Laravel 中默认使用的时间处理类就是 Carbon. La ...