目录
- 一、关联
- 二、步骤
- 1.webtours开启关联。
- 2.badboy录制。
- 3.导入Jmeter。
- 4.回放脚本,看是否正确,如果正确就不需要关联了。
- 5.找出需要关联的请求(nav.pl)。
- 6.在Jmeter中找到对应的请求。
- 7.点击这个请求,右键--添加--后置处理器--正则表达式提取器。
- 8.增加断言。
- 9.增加断言结果。
- 10.运行查看。
- 三、总结
一、关联
- 和LR中的差不多。
LR中的关联通过一个函数,左右边界或者是正则来进行定位,取这个动态关联的。Jmeter中也是一样的。
- Jmeter中关联的两种方式取动态的关联:正则、xpath(一般返回数据是xml格式的时候用的多)。
正则:利用一些符号和数字进行匹配、通配。
- 以webtours登录为例进行演示webtours.jmx
二、步骤
- 1.webtours开启关联。
webtours安装:http://nicethemes.cn/news/txtlist_i303469v.html
- 2.badboy录制。
- 3.导入Jmeter。
4.回放脚本,看是否正确,如果正确可能就不需要关联了。
不正确的话,就排查问题(请求、脚本、参数问题),排查的过程中发现有些参数没有规律。是数字 字母混合组合。一般遇到这种东西,都是可能需要关联的。这个时候就要去找开发确认。
最起码要熟悉业务和技术层面,知道哪些请求带哪些参数,这些参数代表啥意思。
- 5.找出需要关联的请求(nav.pl)。
右键--查看源文件:就是这个东西需要关联,因为它每次生成的userSession都不一样。
userSession,它就是数字 字母混合组合
这么多请求,找到在哪一步生成的userSession:
如果对系统熟悉,你就会知道在哪一步生成的userSession。
有的系统是在登录之后生成的userSession,就在登录之后的页面的源码里面去找下userSession。
WebTours比较特别,它是在登录之前也就是打开首页的时候就生成了userSession。
打开首页,查看源文件--title,可以看到是这个请求里头的:
就是这个请求
6.在Jmeter中找到对应的请求:
7.点击这个请求,右键--添加--后置处理器--正则表达式提取器。
一般情况下,上面三部分保持默认不变。
.
代表单个任意的字符。*
代表前面的东西出现一次或多次。
正则的内容全部都在小括号()里面去写。
- 模板:如果前面的正则表达式取了不止一个参数,那么这里需要制定参数的组别,如果该参数为1,则表示取得第一个值,2表示取得第二个值。
意思:用正则去匹配的时候,如果value后面的值只匹配到唯一的这样一个值,就写成1,说明只取第一个值。
假设value后面的值匹配出来十个值,但是只需要用第2个值,就指定2,代表要用第二个值。
- 匹配数字:0随机;-1取所有匹配数字的值,以数组形式存储。
1:代表取第一个值,这里实际关联值只有这一个值,所以写1就行。
缺省值:默认不写。
- 8.增加断言。
判断下session,看看有没有取到
- 9.增加断言结果。
- 10.运行查看。
三、总结
Jmeter的关联与LR的关联的区别:Jmeter的关联就多学习一个正则,其它的东西完全一样。
关联的步骤和LR中的关联一样:
1.首先知道关联哪一个参数。
2.知道参数在哪个请求之后产生的。
3.找到它定位它。
4.找到它的左右边界,将左右边界填充到正则表达式中。
5.对需要匹配的关联的动态值进行正则的提取。
6.填充模版、匹配数字。如果没特殊情况,这2个空着也没问题。
7.增加断言,判断关联的动态数据有没有取到。
8.运行并查看结果。
webtours网站有变化,实操换别的网站。