【jmeter】实现接口关联的两种方式:正则表达式提取器和json提取器

关联通俗来讲就是把上一次请求的返回内容中的部分截取出来保存为参数,用来传递给下一个请求使用。

示例:

  1.用户密码进行登录,登录后生成authentication

  2.需要将登录接口响应结果中authentication的作为一个参数,传给下一个接口

  如下图,需要提取登录接口返回的authentication传递给下一个预约订单列表接口header中

一、使用正则表达式提取器实现接口关联

1.添加方式:在需要获取数据的请求上(该场景中为登录接口) 右键-->后置处理器--> 选择正则表达式提取器

 参数说明:

  引用名称:即下一个请求要引用的参数名称,如填写authentication,则可用${ authentication}引用它。

  正则表达式:()括起来的部分就是要提取的。.代表任意字符,+表示一次或多次,* 表示零次或多次,?表示零次或一次。(具体正则表达式规则可百度)

  模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$,$3$等等,表示解析到的第几个值给authentication。本处只有1个,所有使用$1$。

  匹配数字:0代表随机,-1代表所有,其余正整数代表将在检查的内容中,第几个匹配的内容提取出来。

2.在后面的接口中使用${authentication}引用

二、使用json提取器实现接口关联

  使用场合:接口关联,当前一个接口返回的数据类型为json格式的数据,需要从返回的json数据中提取数据。

1.添加方式:在需要获取数据的请求上(该场景中为登录接口) 右键-->后置处理器--> 选择JSON提取器

 

 参数说明: 

  Name of created varialies:即下一个请求要引用的参数名称,如填写authentication,则可用${ authentication}引用它。

  JSON Path  expressions:填写jsonpath,格式:$. 节点名称   根节点用 “.” 表示

  Match Numbers:0代表随机,-1代表所有,其余正整数代表将在检查的内容中,第几个匹配的内容提取出来。

  Default Values:找不到时默认值,一般设置为NOT FOUND

  Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”

2.替换变量为${ 变量名}

三、返回复杂json数据的提取

例如获取数组类型的数据:第二个item中第一个hospTags中name值,可以先在察看结果树种选择Json Path Tester查看返回的相应数据,Json Path Expression输入需要通过jsonpath方式获取的值点击Test检查结果是否正确

添加方式:右键-->后置处理器--> 选择JSON提取器

原文地址:https://www.cnblogs.com/mumuluo/p/13903367.html