如何使用jmeter做关联
1、适用场景
从上一个接口的返回值中获取值传递给下一个接口使用
2、添加JSON Extractor
在需求提取的参数上添加--后置处理器--JSON Extractor
从登录接口的返回值中取userid,传递给下一个接口使用
JSON Path Tester
$ 代表 根
$. 代表 根下面想找哪一个
$.result 代表找到result里面的所有数据
在JOSON Path Expression:中输入 $.result 后,点击【test】//文本框中找到result里面的所有数据
"name":"韦小宝",
$.result.name //Result[0]=韦小宝
如果json里面是一个数组 []
$.result.xx[0] //第一个数组,后面可以继续 .
HTTP请求--后置处理器--JSON Extractor
//json 正则
1.Apply to:
主请求和子请求、 主请求、 子请求、 变量名中
2.Name of created variables(变量名):w_name
3.JSON Path expressions:$.result.name
4.Match No.(0 for Random):1
5.Compute concatenation var(suffix_ALL)://不用
6.Default Values:---
Debug 里面验证是否取到 韦小宝
3、返回值json格式提取
从登录接口的返回值中取sigin,传递给下一个接口使用
参数的使用:${变量名}
4、正则表达式提取
在需要提前的接口--添加后置处理器--正则表达式提取器
线程组--后置处理器(请求后面才能生效)--正则表达式提取器
1)引用名称:bugid
2)正则表达式:左边界(.*)右边界 或 左边界(.*?)右边界
3)模板:$2$-$1$-$3$
4)匹配数字(0代表随机):1
5)缺省值:---
a* //匹配a 0次或多次,优先匹配多次
a.* //.任意字符,优先匹配多,如果不跟 . ,那么就会有很多个a
a*a //1个或多个a
a*aa //2个或多个a
a? //0个或1个a
a?a //1个或2个a
a+ //1个或多个,优先匹配多个
a+d //d前面至少1个a
a*? //0次或次,取最少(有空就是空)
a+? //1次或多次,优先取少(一个a)
左边界(.*)右边界//
1).*任意字符,取多,左右边界要求取的很准确
2)取长了 左边界(.*?)左边界
3)取到空了 左边界(.+?)右边界
提取参数的使用