Jmeter之处理session、cookie以及如何做关联
具体描述问题之前,我们先了解下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以及如何做关联的更多相关文章
- 会话控制:SESSION,COOKIE
1.http协议: HTTP—超文本传输协议,在TCP协议(长连接.像一个硬件)基础上; 特点:短连接,无状态协议,没法记录本次连接的状态;适用于静态页面的访问,对于后期某些页面是需要浏览器预知客户信 ...
- session & cookie(li)
Session & Cookie 一.定义 Session,用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.Cookie,由服务器端生成,发送 ...
- web也是区分前端与后端的,session\cookie辨析
<1>Ajax交互方式 Ext.Ajax.request( { //被用来向服务器发起请求默认的url url : "", //请求时发送后台的参数,既可以是Json对 ...
- http之Session&Cookie
百度了一波session与Cookie,我发现这东西远比我想象中更复杂(可能是因为我不明白底层的运行原理).网上也是一堆的关于Session与Cookie区别/联系的文章,然而,我看完了还是一脸懵逼的 ...
- Asp.net MVC使用Filter解除Session, Cookie等依赖
本文,介绍了Filter在MVC请求的生命周期中的作用和角色,以及Filter的一些常用应用场景. 同时针对MVC中的对于Session,Cookie等的依赖,如何使用Filter解依赖. 如果大家有 ...
- [转]Asp.net MVC使用Filter解除Session, Cookie等依赖
本文转自:http://www.cnblogs.com/JustRun1983/p/3279139.html 本文,介绍了Filter在MVC请求的生命周期中的作用和角色,以及Filter的一些常用应 ...
- [转载]JavaEE学习篇之——Session&&Cookie
原文链接: http://blog.csdn.net/jiangwei0910410003/article/details/23337043 今天继续来看看JavaWeb的相关知识,这篇文章主要来讲一 ...
- Redis+Django(Session,Cookie)的用户系统
一.Django authentication django authentication提供了一个便利的user api接口,无论在py中 request.user,参见Request and re ...
- Asp.net 服务器Application,Session,Cookie,ViewState和Cache区别
2.8 Context 的使用Context 对象包含与当前页面相关的信息,提供对整个上下文的访问,包括请求.响应.以及上文中的Session 和Application 等信息.可以使用此对象在网页之 ...
随机推荐
- vscode中使用markdown
vscode中使用markdown vscode 是微软推出一款轻量级的文本编辑工具,类似于sublime,由于其拥有丰富的插件,安装使用也非常简单,所以深受广大程序员的喜爱. markdown 是一 ...
- Realm的简单使用
Realm个人理解: 它主要是一套移动端数据库框架,将对数据库表的操作转换为对对象的操作,如果是学过Java ORM框架的同学使用Realm起来应该上手比较快一点.而且据我所知Realm不仅支持Obj ...
- CC2530入门教程-02】CC2530的通用I/O端口输入和输出控制
第2课 CC2530的通用I/O端口输入和输出控制 广东职业技术学院 欧浩源 一.CC2530的引脚概述 CC2530微控制器采用QFN40封装,有40 个引脚.其中,有21个数字I/O端口,其中 ...
- ecshop邮件订阅按“订阅”没反应
原订阅邮件所使用的JS文件transport.js和JQuery冲突,会更改transport.js文件,用以下代码可同样实现订阅功能. <input type="text" ...
- CSS 中的内联元素、块级元素、display的各个属性的特点
CSS的内联元素和块级元素 块级元素<h1>-<h6>.p.dt是不可以内联块级元素的 1.block和inline这两个概念是简略的说法,完整确切的说应该是 block-le ...
- java编码详解
举个例子 我们在开发过程中,特别是多种编码格式并存的情况下,很容易遇到乱码问题. 假如有一个GBK编码java文件,然后再使用-Dfile.encoding=GBK参数,写入的文件中哪些是乱码呢.那如 ...
- webpack前端工程化构建工具的使用
一.模块打包机 1.创建文件 在目标文件下建立一个src文件夹作为js代码区:作为例子,我创建了两个js文件,并利用commonJS规范require引入到index.js中: moduleA.js: ...
- 【Android Developers Training】 26. 在SQL数据库中保存数据
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 如何在新浪sae服务器上面连接redis
1.创建php空应用 2.选择
- PYC#1欢乐赛第三题题解
这里是比赛地址:http://tieba.baidu.com/p/2859693237,果然参赛神牛汇集. 第三题题目大意如下: 已知n条二次函数曲线Si(x)=aix^2+bix+ci(ai> ...