具体描述问题之前,我们先了解下session、cookie

session、cookie的概念

1.session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过去与否可以在cookie生成的时候设置进去。

2.cookie和session都是用来跟踪浏览器用户身份的会话方式。

3.cookie保持你访问的权限信息,session限制你访问权限信息的有效时间,一旦过期就不能在访问了。

关联的概念

使用过LR的同学都知道,在LR进行测试的时候有个配置叫自动关联。为什么要自动关联呢?这个就跟这个session和cookie有关,session和cookie是每次都会变化的!所以在session和cookie失效后,你需要重新获取这些值,如果用到Jmeter来做这些操作的话,你不能每次手动去修改,那么就需要用关联,做好关联后,让Jmeter自动去获取这些变化的值。

简单来说,自动关联就是,在每次请求中都会变化的值,且每次都是从服务器发送过来的,通过一些特别的处理自动获取这个动态值!

实例说明

1.用Badboy录制脚本后,导出为jmeter文件,并在Jmeter中打开

2.有时在http请求页面中“路径”会看到网页链接引用:http://www.xxx.com/xxx_app;jsessionid=${jsessionid}。或者网页链接后显示:?jsessionid   或者显示一串数字

解决:

  • 1、因为Session默认是需要Cookie支持的,但有些客户浏览器是关闭Cookie的

【而jsessionid是存储在Cookie中的,如果禁用Cookie的话,服务器得不到jsessionid,这样也就没法根据jsessionid获得对应的session,获得不了session就得不到session中存储的数据了。】

这个时候就需要在URL中指定服务器上的session标识,也就是类似“jsessionid=5F4771183629C9834F8382E23BE13C4C” 这种格式。

  • 2、此jsessionid是跟随上一网页获取的,是随机的故,我们需要通过上一网页的响应数据,引用该jsessionid

步骤:

  • 1)、查找到上一页面中响应数据中的jessionid的value

  

  • 2)、在该页面下添加子节点:右键添加正则表达式,我们要获取的是jsessionid,正则如下(正则表达式一定要正确,不能贪婪匹配,必须精确匹配!):

  

这样,正则表达式就获取到了每次请求都会变化的jsessionid,然后再请求,就会发现jsessionid会自动变化,由Jmeter来获取!

引用该正则表达式的jsessionid值:

/xxx_app;jsessionid==${jsessionid}?a=x&b=x

另外关于jmeter cookie的文档可以看这篇:http://wangsheng14591.blog.163.com/blog/static/327797102012829101351887/

Jmeter之处理session、cookie以及如何做关联的更多相关文章

  1. 会话控制:SESSION,COOKIE

    1.http协议: HTTP—超文本传输协议,在TCP协议(长连接.像一个硬件)基础上; 特点:短连接,无状态协议,没法记录本次连接的状态;适用于静态页面的访问,对于后期某些页面是需要浏览器预知客户信 ...

  2. session & cookie(li)

    Session & Cookie 一.定义 Session,用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.Cookie,由服务器端生成,发送 ...

  3. web也是区分前端与后端的,session\cookie辨析

    <1>Ajax交互方式 Ext.Ajax.request( { //被用来向服务器发起请求默认的url url : "", //请求时发送后台的参数,既可以是Json对 ...

  4. http之Session&Cookie

    百度了一波session与Cookie,我发现这东西远比我想象中更复杂(可能是因为我不明白底层的运行原理).网上也是一堆的关于Session与Cookie区别/联系的文章,然而,我看完了还是一脸懵逼的 ...

  5. Asp.net MVC使用Filter解除Session, Cookie等依赖

    本文,介绍了Filter在MVC请求的生命周期中的作用和角色,以及Filter的一些常用应用场景. 同时针对MVC中的对于Session,Cookie等的依赖,如何使用Filter解依赖. 如果大家有 ...

  6. [转]Asp.net MVC使用Filter解除Session, Cookie等依赖

    本文转自:http://www.cnblogs.com/JustRun1983/p/3279139.html 本文,介绍了Filter在MVC请求的生命周期中的作用和角色,以及Filter的一些常用应 ...

  7. [转载]JavaEE学习篇之——Session&&Cookie

    原文链接: http://blog.csdn.net/jiangwei0910410003/article/details/23337043 今天继续来看看JavaWeb的相关知识,这篇文章主要来讲一 ...

  8. Redis+Django(Session,Cookie)的用户系统

    一.Django authentication django authentication提供了一个便利的user api接口,无论在py中 request.user,参见Request and re ...

  9. Asp.net 服务器Application,Session,Cookie,ViewState和Cache区别

    2.8 Context 的使用Context 对象包含与当前页面相关的信息,提供对整个上下文的访问,包括请求.响应.以及上文中的Session 和Application 等信息.可以使用此对象在网页之 ...

随机推荐

  1. jquery中的$(document).ready()使用小结

    本篇文章主要是对jquery中的$(document).ready()使用方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 window.onload = function(){ ...

  2. JDK并发包

    JDK5之后引进了并发包java.util.concurrent,让并发的开发更加可控,更加简单.所以有必要好好学习下,下面从同步控制.并发容器.线程池三部分来详细了解它. 1. 各种同步控制工具的使 ...

  3. ASP.NET MVC5(三):表单和HTML辅助方法

    表单的使用 Action和Method特性 Action特性用以告知浏览器信息发往何处,因此,Action特性后面需要包含一个Url地址.这里的Url地址可以是相对的,也可以是绝对的.如下Form标签 ...

  4. iOS-swift-协议和拓展

    1 协议(protocol) 使用关键字 protocol 创建协议. protocol ExampleProtocol { var simpleDescription: String { get } ...

  5. python 解析docx文档的方法,以及利用Python从docx文档提取插入的文本对象和图片

    首先安装docx模块,通过pip install docx或者在docx官方链接上下载安装都可以 下面来看下如何解析docx文档:文档格式如下 有3个部分组成 1 正文:text文档 2 一个表格. ...

  6. curl的使用

    curl -v -0  -T 123.wav   "127.0.0.1:80/saveSound?filename=18696770041_1379903830_xxx.wav&du ...

  7. 盒子模型,定位技术,负边距,html5 新增标签

    盒子模型 /*[margin 外边距] margin属性最多四个 1.只写一个值,四个方向的margin均为这个值 2.写两个值:上,右两个方向,下默认=上,右 默认=左 3.写三个值:上.右.下三个 ...

  8. WindowManager.LayoutParams的探究

    上次在子线程更新UI时用了一下WindowManager.LayoutParams,当时觉得不太顺手.以前都是用空参构造器,这次用了type和flag属性,出现了意想不到的效果.也看看源码吧,多锻炼锻 ...

  9. el表达式字符串使用总结

    el表达式截取 逗号后面的字符串${fn:substringAfter(strVar,',' )} el表达式判断字段长度<c:if test="${fn:length(strVar) ...

  10. mysql 左连接 右连接 内链接

    一般所说的左连接,右连接是指左外连接,右外连接.做个简单的测试你看吧.先说左外连接和右外连接:[TEST1@orcl#16-12月-11] SQL>select * from t1;ID NAM ...