JMeter-正则表达式关联

jmeter中,接口自动化的关键在于参数关联。比如需要登录的接口,如何调用登录口令?一个增删改查的闭环,如何将接口参数上下传递?下面就以实际的例子来仔细说一说

1:登录接口

这里有一个实际的登录接口,在响应中返回了一串token,如下图
在这里插入图片描述
那么我们在接下来的接口-经验库列表中,就必须带入这一串token,否则响应报错,如下图所示
在这里插入图片描述
在这里插入图片描述
如何获取登录的口令呢?这里详细说明一下,如图所示
在这里插入图片描述
在这里插入图片描述
在接下来的接口中可以将获取的token作为变量调用,变量名为${center-token},如下图
在这里插入图片描述
观察请求头,发现传入了一串token,并且响应结果正确
在这里插入图片描述
自此,一个完整的登录关联就结束了。后续接口直接调用该token就可以。我们接下来继续说其它的参数关联

比如一个增删改查流程,想要做自动化检验就必须形成一个闭环,那么删除-修改-查看就必须调用同一个必填参数,例如唯一性的id。下面还是实例演示

我先新增一个经验库,可以看到结果中返回了一个id,我在后续接口中都必须调用此唯一性的id
在这里插入图片描述
接下来写一个正则将其取出,注意与之前token正则的不同之处
在这里插入图片描述
后续接口可以调用此参数,并正确响应
在这里插入图片描述
在这里插入图片描述
好了,一个完整的登录-查看-删除的流程到这里就可以结束了
在这里插入图片描述
正则表达式提取器说明
在这里插入图片描述
引用名称:定义一个变量,供后续请求引用

一般(.+?)和(.*?)能够满足我们80%的使用场景。所以,一般的正则表达式都可以写成下面这2种

左边界(.+?)右边界

左边界(.*?)右边界

left对应匹配目标的起始字符

right对应匹配目标的结束字符

正则表达式:利用正则将需要的数据提取出来

() 括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来

. 点号表示匹配任何字符串

  • 一次或多次

? 在找到第一个匹配项后停止

模板:用$ 引 用 起 来 , 如 果 在 正 则 表 达 式 中 有 多 个 正 则 表 达 式 ( 多 个 括 号 括 起 来 ) , 则 可 以 是 引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来),则可以是 N$等,表示提取第N个括号里面的值

匹配数字 -1:表示取所有返回值,此时提取结果是一个数组,其余正整数代表第几个匹配的内容提取出来。如果匹配数字选择的是-1,后续还可以通过 X X X 1 的 方 式 来 取 第 1 个 匹 配 的 内 容 , {XXX_1}的方式来取第1个匹配的内容, XXX11{XXX_2}来取第2个匹配的内容。

匹配数字1:表示取第一个返回值

匹配数字0:表示随机取一个返回值

缺省值:正则匹配失败时取的值

例1:提取第一个Name
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例2:提取全部Name
在这里插入图片描述
在这里插入图片描述
例3:表达式同时提取Name和population,并传出两个参数
在这里插入图片描述
在这里插入图片描述
例4:条件判断取值

提取population=800的城市
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值