三、关联
当请求之间有依赖关系,比如一个请求的参数是另外一个请求的响应数据,这个时候就需要用到关联
1.线程组内关联
1.1正则表达式提取器
主要针对页面数据提取
添加方式:
测试计划 --> 线程组--> HTTP请求 --> (右键添加) 后置处理器 --> 正则表达式提取器
参数说明:
- 引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它
- 正则表达式
- 模板:用$ $引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$ $3$等等,表示解析到的第几个值给title。如: $1$表示解析到的第1个值
- 匹配数字:0代表随机取值,-1代表全部取值,1代表取第一个值
- 缺省值:如果参数没有取得到值,那默认给一个值让它取
1.2Xpath提取器
主要针对网页数据提取
添加方式:
测试计划 --> 线程组--> HTTP请求 --> (右键添加) 后置处理器 --> XPath提取器
参数说明:
- Use Tidy (tolerant parser):如果勾选此项,则使用Tidy将HTML响应解析为XHTML。当需要处理的页面是HTML格式时,必 须选中该选项,当需要处理的页面是XML或XHTML格式(例如,RSS返回)时,取消选中该选项。
- 引用名称:存放提取出的值的参数
- XPath Query:用于提取值的XPath表达式
- 匹配数字:0代表随机取值,-1代表全部取值(默认),X代表第X个结果
- 缺省值:参数的默认值
1.3JSON提取器
添加方式:
测试计划 --> 线程组--> HTTP请求 --> (右键添加) 后置处理器 --> JSON提取器
参数说明:
- Names of created variables:存放提取出的值的参数
- JSON Path Expressions:JSON路径表达式
2.跨线程组关联
2.1函数
__setProperty函数
把我们提取到指定数据添加成全局JMeter属性
__Property函数
获取全局JMeter属性
2.2BesnShell提取器
主要用于执行函数
注意:JMeter中引用变量使用${}的形式
学IT上博学谷