关联适用于请求和请求之间有相互的依赖关系,比如一个请求返回的数据结果,作为另一个请求的参数内容。
常用的关联方法:正则表达式提取器、Xpath提取器、Json提取器。
正则表达式:
常用的正则表达式,和例子:
. :点号,为通配符,可以代表任意字符(除了换行和回车)
*:星号,代表前面的字符出现N次
?:问号,代表非贪婪匹配,找到左边界后,再找右边界,找到后就停止继续查找。
可通过正则表达式在线测试工具获取正则表达式:在线正则表达式测试,例如:
左边界:<title>
右边界:</title>
jmeter中正则表达式提取器举例:
例如提取下面例子中,将第10个结果作为参数传给下一个请求:
创建一个http请求:
添加http请求的正则表达式提取器,提取所有城市名称:
添加一个调试取样器,可以查看到获取到的结果,用于调试,点击运行后,如下结果:
再创建一个http请求,并且引用正则表达式提取器中的变量,并且提取第10条:
查看结果树中的请求:
Xpath提取器
示例,提取百度首页中的title,
创建http提取器:
创建Xpath提取器创建第二个http请求并且引用第一个请求中的结果:
查看结果树:
Json数据提取器:
拿下面的json举例:
创建http请求
创建json提取器:
再创建一个http请求,引用json提取器中的结果:
跨线程组的关联,需要通过jmeter的属性来传值(提取器无法完成跨线程的关联)
创建http请求
创建xpah提取器:
创建BeanShell取样器:
创建setProperty函数,输入属性名称和值,点击生成按钮,复制到Beanshell中(用来执行脚本)
在创建一个http请求, 用于引用上一个中的结果:
创建一个property函数,色湖之属性名称进行引用,点击“生成”按钮后,直接将复制的函数使用到指定位置:
查看结果树: