jmeter通过后置处理器提取(正则提取器、json提取器)做接口关联

一、后置处理器—正则表达式提取器

原文链接:https://blog.csdn.net/qq_36502272/article/details/88529412
1、添加正则表达式提取
在这里插入图片描述
2、正则表达式提取面板介绍:
在这里插入图片描述
引用名称:提取引用名称,下个请求要引用此参数名称,如填写token,下个请求中用${token}
正则表达式:():括起来的部分就是要提取的

                  .:匹配任何字符串
                 +:一次或多次
                 ?:不要太贪婪,在找到第一个匹配项后停止

正则表达式操作符及含义:
在这里插入图片描述
模板:用$$引用起来, 如果在正则表达式中有多个正则表达式, 则可以是1,2等等;
匹配数字(0代表随机):一般填1,表示第一个,0表示随机,-1表示全部(此时提取结果是一个数组,如果引用名称是user,也可以通过{user_1}的方式来取第1个匹配的内容)
缺省值:如果正则表达式没有搜找到值,则使用此缺省值

3、提取(单个值)登录后获取的token,作为请求头参数,用于其它接口请求使用
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

4、正则提取(不同字段,多个值)案例
在这里插入图片描述
5、正则提取(同字段,多个值)案例
在这里插入图片描述
提取列表接口所有id集合,使用第几个id,id_n就可以,如果想迭代所有id,再搭配foreach迭代控制器,迭代每个id。

二、后置处理器—json提取器

1、添加json提取器
在这里插入图片描述
2、json提取器面板介绍:
在这里插入图片描述
Main sampleand sub-samples:应用于主sample及子sample
Main sample only:默认的是这个,应用于主sample
Sub-samples only:应用于子sample
JMeterVariableName to use:应用于变量命名的内容

Variable names : 名称
JSONPath Expression:JSON表达式
Match Numbers:0随机;n取第几个匹配值;-1匹配所有,后续引用用 变量名_N 取第N个值
Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”
Default Value:未取到值的时候默认值

$.你要提取的参数

1、响应类似{“属性”:[{“sx”:1},{},{}]},整个响应是个对象。取sx的值:$.属性[0].sx
2、修改json extractor 获取数组的所有值 $[*].属性。match no=3取第3个
3、match no=5,数组越界后,取default values
4、修改json extractor 设置match no =-1 匹配对应字段所有值;并修改接收参数的http请求的参数为 ${varname_N}。N=1-4
在这里插入图片描述
我想提取code参数值:

JSON Path Extractor:$.code

提取username参数值:
JSON Path Extractor:$.list[0].username

如果提取的参数不存在父级?

$.你要提取的参数名

提取的参数存在父级

$.你要提取的参数名的父亲.你要提取的参数名

如果提取参数的父级存在父级

$.你要提取的参数名的父亲的父亲(爷爷).你要提取的参数名的父亲.你要提取的参数名

参数如果是数组?

$.你要提取的参数参数[N]

以下标的形式取值,0代表取的数组中第一个值,1代表取的是数组中第二个值,N代表取的数组中第N+1个值

3、提取(单个值)登录后获取的token,作为请求头参数,用于其它接口请求使用
在这里插入图片描述
4、json提取器,提取(不同字段,多个值)案例
在这里插入图片描述
5、json提取器,提取(同字段,多个值)案例
JSONPath Expression $.data.list[*].id
Match Numbers -1
提取列表接口所有id集合,使用第几个id,id_n就可以,如果想迭代所有id,再搭配foreach迭代控制器,迭代每个id。
在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值