Jmeter关联(后置处理器)

在Jmeter里面我们主要通过后置处理器来实现关联,主要有两种方式,一种是JSON提取器,一种是正则表达式处理器

1、JSON提取器

json提取器是专门针对json数据进行提取的后置处理器,用$代表json数据,配置基本和正则表达式提取器类似

场景:当前有两个接口,get接口可以获取到一些详细信息,其中返回字段里面包含skuName,login接口需要用到get接口中返回的skuName做为用户名传入

get接口返回值:
{"code":"0","message":"success","data":{"id":1,"name":"testname1","info":"testinfo"}}

在这里插入图片描述

Names of created variables:引用名称,匹配后的结果,保存到一个参数中,如param

JSON Path expressions:json路径表达式,直接通过`$`表达式提取,直接使用`.`语法,如果遇到数组,直接用`.*`

Match No:匹配数字,由于在关联场景中,有可能会获取到多个数据,所以此处需要指定取哪个值,0代表随机取值,1获取第一个值,2获取第二个值,3获取第三个值。。。如果想要获取所有的值则写-1

Default Values:默认值

在这里插入图片描述

如果uName里面存的是数组,可以通过调试取样器来帮助我们调试
线程组–>添加–>取样器–>调试取样器
在这里插入图片描述
此处配置不用修改
在这里插入图片描述

uName_1:即提取出来的值,如果有多个值,会显示uName_2,uName_3。。。
uName_matchNr:表示数组长度

在json提取器中如果你想要获取多个字段,则需要添加多个json提取器

2、正则表达式提取器

在用jmeter编写脚本的过程中,我们也可以通过正则表达式来获取http请求返回的数据,它可以处理所有的文本处理器,不在局限于json了

在正则表达式提取器中可以分别提取主体、信息头、url等中的信息
在这里插入图片描述

引用名称:匹配后的结果,保存到一个参数中,如param

正则表达式:支持正则表达式的语法,用()来进行分组,指定要获取的内容,如":(.+?),正则表达式写的时候可以分为三个步骤
第一步,先把要提取的数据的左右边界,包括要提取的数据都拷贝过来
"name":"testname1",
第二步,把你想要的数据用括号括起来
"name":"(testname1)",
第三步,把你想要的数据用正则表达式代替,此处给大家推荐一个万能表达式`.+?`
"name":"(.+?)",

模板:由于正则表达式中可能存在多个括号,需要知道取哪一组数据,$1$表示取匹配到的第一组数据,$2$为第二组

匹配数字:当某组数据中包含多少个参数时,0代表随机,1代表该组的第一个参数,2表示第二个。。。-1代表获取全部的参数,这个时候,引用名称就变成了参数数组,可以通过param_n来获取指定的参数,当有多组数据时,第一组为param_1_g1,第二组为param_1_g2

常用的正则表达式
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值