如何使用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)取到空了 左边界(.+?)右边界

 

   提取参数的使用

 

原文地址:https://www.cnblogs.com/hushaoyan/p/9927800.html