在LR中有自动关联跟手动关联,但在我看来手动关联更准确,在jmeter中,就只有手动关联
为什么要进行关联:对系统进行操作时,本次操作或下一次操作对服务器提交的请求,这参数里边有部分参数需要服务器返回动态变化的值,首先这个值是动态变化的其次是由服务器动态返回的再者会对请求结果产生影响
在jmeter中,关联有几种方法,①正则表达式②边界提取器③Json Extractor提取器
一正则表达式:
当我要注册时有一个值是每次都是变化的:
<input type="hidden"
name="formhash" value="0ab4d9ec" />
——————————————————————
<input type="hidden"
name="formhash" value="11cc937d" />
所以需要对这个值进行一个关联
在你要关联的请求下右键点击添加-后置处理器-正则表达式提取器
在正则表达式页面设置一下
在模板$1$意思是,如果有多个动态变化的值,如在引用名称formhash,XXX,XXX,有三个值,那在模板上这样填$1$$2$$3$,但是建议不这样用容易出问题,如果说有多个动态变化的值需要关联那么直接多添加几个正则表达式提取器就可以了,然后在要关联的值里填入 ${formhash}
二边界提取器:
在Boundary Extractor提取器中是4.0版本新推的一个小功能,本人认为这个比正则最好用,跟LoadRunner关联的左边界右边界相似
看这个就知道它的左边界跟右边界是怎么填了name="formhash" value="11cc937d"
三Json Extractor提取器:
当传数据返回的是一个Json格式,如{"name":"sojson","url":"www.sojson.com"}这样的格式又或者是如下
{
"技术使用": [
"SpringMVC",
"Mybatis ",
"Freemarker",
"Shiro"
],
"数据存储": [
"Redis",
"RDS",
"七牛云存储"
]
}
那就要用json方式来关联了
同样的在你要关联请求右键点击添加—后置处理器—JSON Extractor
进入JSON Extractor页面