(十五) jemter-session,cookie与关联---学习笔记

来源:互联网 发布:饮食养生的软件 编辑:程序博客网 时间:2024/05/18 16:40

一,session与cookie

1.cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据

2.session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。 Session其实是利用Cookie进行信息处理的,当用户首先进行了请求后,服务端就在用户浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味着这个Cookie就过期了。
注:为这个用户创建的Cookie的名称是aspsessionid。这个Cookie的唯一目的就是为每一个用户提供不同的身份认证。

3.cookie和session的共同之处在于:cookie和session都是用来跟踪浏览器用户身份的会话方式。

4.cookie 和session的区别是:cookie数据保存在客户端,session数据保存在服务器端。

二,关联
既然说到了上面的session和cookie,其实这个session和cookie是每次都会变化的!所以在session和cookie失效后,你需要重新获取这些值,如果用到Jmeter来做这些操作的话,你不能每次手动去修改,那么就需要用关联,做好关联后,让Jmeter自动去获取这些变化的值。

所以在这里,就要跟大家说说,什么是关联。

一句话解释:在每次请求中都会变化的值,且每次都是从服务器发送过来的,那么就需要去做些特别的处理来获取这个动态值!这个就叫做关联!举个例子:

1.你往数据库插入数据时,有一个id,这个就是动态值,每次都会变得!

2.你提交bug时,bug id 是动态值,有序递增的!

你如果用Jmeter来代替你手工做这些事情,就需要用到关联,让Jmeter自动跟服务器请求并传给下一步。

三,关联方法。

方法一,从前一个请求中取,用正则表达式提取器。

具体方法,在需要获得数据的请求上右击添加一个后置处理器-->正则表达式提取器

引用名称即下一个请求要引用的参数名称,如填写title,则可用${title}引用它。

正则表达式中()括起来的部分就是要提取的。.代表任意字符,*代表出现任意次。

模板,用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$2$,$3$等等,表示解析到的第几个值给title。

匹配数字,0代表随机,-1代表所有,其余正整数代表将在检查的内容中,第几个匹配的内容提取出来。

 

举例说明:

1、提取单个字符串:
假设测试人员期望匹配Web页面的如下部分:name = "file" value = "readme.txt">并提取readme.txt。
一个符合要求的正则表达式:name = "file" value = "(.+?)">。
():封装了待返回的匹配字符串。
.:匹配任何字符串。
+:一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。
 
2、提取多个字符串:
假设测试人员期望匹配Web页面的如下部分:name = "file" value = "readme.txt">并提取file和readme.txt。
一个符合要求的正则表达式:name = "(.+?)" value = "(.+?)"。
引用名称:MYREF
模板:$1$$2$
如下变量的值将会被设定:
MYREF_g0:name = "file"value = "readme.txt"
MYREF_g1:file
MYREF_g2:readme.txt
引用${MYREF_g1}

 

方法二,用xpath从前一个请求中取。这种形式比较适合于返回为xml片段的情况。

在需要获得数据的请求上右击添加一个后置处理器-->xPath Extractor。

引用名称即下一个请求要引用的参数名称,如填写body,则可用${body}引用它。

XPath query,即xpath的表达式,要符合xpath的语法。




0 0