Jmeter关联

Jmeter关联是指通过下面的接口可以利用上面接口返回的数据进行发送;

例如:两个HTTP请求,第一个HTTP请求发送后,服务器返回了值,第二个HTTP获取到这些返回的值进行一系列的操作,这就是Jmeter关联

先带大家了解下JMeter的关联方法:

Jmeter关联方法

1、在上一个HTTP请求中设置正则表达式提取器

(添加--后置处理器--正则表达式提取器)

2、找到需要提取的要素,我们需要提取的是uid的值

服务器返回的值为:

{"msg":"登录成功","uid":"AEF06337431B43B7AE65B28F4F173559","code":"1"}

3、确定提取要素的左右边界

{"msg":"登录成功","uid":"AEF06337431B43B7AE65B28F4F173559","code":"1"}

所以我们需要提取的的左右边界:

  • 左边界:"uid":"
  • 右边界:"
  • 需要提取的值:AEF06337431B43B7AE65B28F4F173559

4、设置正则表达式提取器

说明:(重点)

  • 引用名称:对应上图的uid---下一个请求要引用的参数名称,如填写uid,则在下一个请求中需要用${uid}来引用它。
  • 正则表达式:对应上图的"uid":"(.+?)"(一般情况下在括号中都是.+?)

    ( ):括起来的部分就是要提取的。
    .:匹配任何字符串。
    +:一次或多次。
    ?:不要太贪婪,在找到第一个匹配项后停止。

划重点

  • 模板:对应上图的"$1$"---用"\$\$"引用起来,如果在正则表达式中有多个正则表达式,则可以是"$2$$3$"等等,表示解析到的第几个值给uid。
    由于uid是单一的数据,则用"$1$"表示解析到的第1个值;若获取的数据是多个表达式,即需要获取几个关联数据,分别把几个关联数用"$1\$\$2\$\$3$"等等来表示(文中的\是请忽略,是为了避免格式冲突才加的)
  • 匹配数字:对应上图的0---0代表随机取值,1代表全部取值,通常情况下填0
  • 缺省值:对应上图的null---如果参数没有取得到值,那默认给一个值让它取,在这里给的是null

5、在下面请求中配置参数从而获取到上面请求需要关联的数据

注意:

  • 配置名称以及值时,名称最好与正则表达式提取器所定义的名称相同
  • 值需要调用正则表达式提取器的参数,需要以${正则表达式名称}的格式来调用(${uid})

    6、执行请求,查看结果树,可以看到返回的值,则证明关联成功