接上一篇文章 Jmeter接口测试的使用及用户定义的变量进行参数化关联:https://blog.csdn.net/dhfaksljdfksajdnks/article/details/108456773

正则表达式提取器

应用场景:上一接口请求回来的参数下一个接口需要用到某一个参数 比如页面展示列表 点击某个列表查看详情,这时我们就需要用到  正则表达式提取器了。因为查看详情需要用到点击该列表的 id 

在HTTP请求上面右键:添加--后置处理器--正则表达式提取器

Jmeter 正则表达式提取器 的使用

正则表达式 详情页面展示:

 

Jmeter 正则表达式提取器 的使用

Apply to:应用范围

Main sample and sub_samples: 匹配范围包括当前父取样器并覆盖至子取样器

Main sample only:匹配范围是当前父取样器

sub-samples only: 仅匹配子取样器

Jmeter Variable:支持对Jmeter变量值进行匹配

要检查的响应字段:样本数据来源

主体:响应数据的主体部分,排除Header部分;http协议返回请求的主体部分就是Body

Body(unescapad):针对替换了转移码的Body部分。

Body as a Document:返回内容作为一个文档进行匹配。

信息头:只匹配信息头部分内容。

URL:只匹配URL链接。

响应代码:匹配响应代码,比如Http协议返回码200代表成功。

响应信息:匹配响应信息,比如处理成功返回“成功”字样。

引用名称:根据自己的风格随便填写,在后面引用需要用到

正则表达式:这里填写需要匹配的内容 一般用(.+?)都能满足 意思是“.”匹配任意元素;“+”指前面的"."匹配任意元素的次数是一次或多次;“?”则是标识前面匹配上最小长度值。如果有别的需求自行百度一下吧

模板:比如有多个值 提取到第几个值

$-1$:表示取所有匹配模板值

$0$:表示随机取匹配模板值

$1$:表示取第一个匹配模板值

$2$:表示取第二个匹配模板值

$n$:n表示正整数,提取第n个匹配模板值。

匹配数字:0便是随机取;-1表示取所有;正数表示对应取第一个匹配到的值

缺省值:缺省值相当于默认值;当未匹配到数据时,缺省值就是引用变量的值。

 

这里我用百度的接口测试一下取返回结果的这个值(html格式)

Jmeter 正则表达式提取器 的使用

提取器页面的详细配置,字段说明在上面已经描述过了

Jmeter 正则表达式提取器 的使用

注意引用的字段,上面提取器引用名称填写的什么这里就引用什么

Jmeter 正则表达式提取器 的使用

查看第二个接口的返回结果,也就是在上一个接口提取的几个字

Jmeter 正则表达式提取器 的使用

有人会有疑问,返回的是html的这样提取,那返回为json 格式的怎么提取呢,下面就说一下json格式的怎么提取

比如我想提取这个字段

Jmeter 正则表达式提取器 的使用

那么提取器的表达式这样写 也就是将菜谱大全返回的imtro参数提取出来

Jmeter 正则表达式提取器 的使用

供下一个百度搜索的接口使用  引用方式及结果

Jmeter 正则表达式提取器 的使用

Jmeter 正则表达式提取器 的使用

以上就是正则表达式提取器的使用,如果有什么不对请提出宝贵的建议,会及时改正,感谢

相关文章:

  • 2022-02-20
  • 2022-01-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-11
猜你喜欢
  • 2021-12-22
  • 2022-01-19
  • 2021-12-05
  • 2021-12-12
  • 2021-06-24
相关资源
相似解决方案