具体描述问题之前,我们先了解下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. 浅谈Windows下SVN在Android Studio中的配置、基本使用及解除关联

    看到网上很多关于svn环境配置和关联Android-Studio的很多博文,发现很零散,想集大家所长整理一下: 在AndroidStudio中开发版本控制中,除了Git就是SVN,和Eclipse不同 ...

  2. blog界面自己写了css,参考了网站设计,想要的自己拿

    junhey这就把界面的代码公布下来,可以自己修改额~(ps:麻烦加个友链http://www.cnblogs.com/junhey/ 谢谢) /* 初始化样式 */ html, body, div, ...

  3. Log POST Data in Nginx

    先编译Nginx的echo module: ./configure --add-module=./echo-nginx-module-0.54 make make install 可以在github上 ...

  4. java面试基础题(三)

    程序员面试之九阴真经 谈谈final, finally, finalize的区别: final:::修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此 ...

  5. javascript走马灯的效果(文档标题文字滚动)

    做一些网站的时候,文档标题会滚动,这个效果是走马灯的效果. <!DOCTYPE html> <html> <head> <meta charset=" ...

  6. 将下载的本地的jar手动添加到maven仓库

    将下载到本地的JAR包手动添加到Maven仓库 常用Maven仓库网址:http://mvnrepository.com/http://search.maven.org/http://reposito ...

  7. JS添加类似C# string.Format方法

    String.prototype.format=function()   {     if(arguments.length==0) return this;     for(var s=this, ...

  8. react-native —— 在Mac上配置React Native Android开发环境排坑总结

    配置React Native Android开发环境总结 1.卸载Android Studio,在终端(terminal)执行以下命令: rm -Rf /Applications/Android\ S ...

  9. Docker Machine 详解

    笔者在<Docker Machine 简介>一文中简单介绍了 Docker Machine 及其基本用法,但是忽略的细节实在是太多了.比如 Docker 与 Docker Machine ...

  10. JavaScript练习笔记整理·3 - 6.25

    欢迎和大家一起来讨论~   基础练习(1):   我的解答为: function array_diff(a, b) { if (b == "") return a; return ...