Jmeter学习:后置处理器--正则表达式提取器/JSON 提取器/边界提取器/JMESPath 提取器

一、正则表达式提取器

功能:通过该组件,我们可以通过正则表达式提取所需要的值,功能非常强大
请务必了解 Java 正则表达式的常见用法(匹配模式、组概念),参考:https://www.runoob.com/java/java-regular-expressions.html
假如采样器返回如下报文:
{"total":2,"list":[{"id":"1634020364206","name":"普通文本","code":"span0"},{"id":"1635186324896","name":"文本域","code":"textarea1"}]}
1、定义 Jmeter 变量名称
2、业务对应的正则表达式
3、对应正则表达式的组号,从 1 开始,上述$1$表示取 id 的值;$2$表示取 name 的值,也就是对应到表达式中的第几个括号;$0$表示取整个正则表达式的值,此处结果为"id":"1635186324896","name":"文本域"
4、对应正则表达式匹配的次数,像上述就是 2 次,取 1 表示报文中的第 1 个对象匹配,取 2 表示报文中的第 2 个对象匹配,取 0 表示随机获取报文中的匹配对象。
     注意:此处可以填 -1 次,会将所有匹配对象按照 “变量名_n” 的形式存储,即,userParam_1, userParam_2。后面所有提取器该参数效果一样。
5、Default Value: 正则匹配为空时的默认值,或者保持为空。

二、JSON 提取器

功能:通过该组件,我们可以通过 JsonPath 提取所需要的值,功能非常强大(注意采样器返回必须为 Json)
采样器返回:
{"total":2,"list":[{"id":"1634020364206","name":"普通文本","code":"span0"},{"id":"1635186324896","name":"文本域","code":"textarea1"}]}

Compute concatenation var(suffix_ALL):将JSON Path expressions获取结果用逗号分割存在变量suffix_ALL中,可以被调用。

三、边界提取器

功能:通过该组件,我们可以通过边界匹配提取所需要的值,功能非常简单实用
采样器返回:
{"total":2,"list":[{"id":"1634020364206","name":"普通文本","code":"span0"},{"id":"1635186324896","name":"文本域","code":"textarea1"}]}

Left Boundary: 左边界

Right Boundary: 有边界

四、JMESPath 提取器

功能:通过该组件,我们可以通过 JmesPath 语法提取所需要的值,功能非常强大(注意采样器返回必须为 Json)

该提取器可被Json提取器替代,顾不做详细描述。

 

 

posted @ 2023-01-14 11:26  Chaman囍  阅读(526)  评论(0编辑  收藏  举报