- 后置处理器主要用于处理请求之后的操作,通常用来提取接口返回数据
2.7.1、JSON JMESPath Extractor
- 作用:可以通过JmesPath语法提取所需要的值
- 使用场景:取样器返回格式为json
- JmesPath语法:参考https://jmespath.org/tutorial.html
- 参数说明:
- Apply to:
- Main sample and sub-samples:匹配范围包括当前父取样器和子取样器
- Main sample only:默认;匹配范围仅包括当前父取样器
- Sub-samples only :仅匹配子取样器
- JMeter Variable Name to use:支持对Jemter变量值进行匹配,输入框内可输入jmeter的变量名称
- Name of created variables:请求要引用的变量名称
- JMESPath expressions:JMESPath表达式
- Match No. (0 for Random):匹配数字,0代表随机取值,n取第几个匹配值,-1匹配所有
- Default Value:未匹配到值时,给参数一个默认值
- Apply to:
- 示例:
2.7.2、JSON提取器
- 功能:可以通过JsonPath提取所需要的值
- 使用场景:取样器返回格式为json
- JsonPath语法:参考https://goessner.net/articles/JsonPath/
- jsonpath表达式在线生成:http://jsonpath.com/
- 参数说明:
- Compute concatenation var(suffix _ALL):计算连接变量。如果找到许多结果,则插件将使用‘,’分隔符将它们连接起来,并将其存储在名为 _ALL的var中
- 示例:
2.7.3、正则表达式提取器
- 作用:可以通过正则表达式提取所需要的值,
- 注意事项:左边界和右边界不能缺失,如果有特殊字符必须用\转义符
- 参数说明:
- 要检查的响应字段:
- Body:响应体,不包含响应头; 最常用
- Body(unescaped):响应体,替换了所有HTML转义符;不建议使用
- Body as a Document:返回内容作为一个文档进行匹配
- 信息头:响应头
- Requeste Headers:请求头
- URL:URL
- 响应代码:响应码
- 响应信息:响应信息
- 引用名称:接收提取值的变量名
- 正则表达式:正则表达式匹配规则,如:“code”😦.?),“message”:"(.?)"
- 模板:对应正则表达式组号,从1开始,$1$表示取code值,$2$表示取message值,$0$表示全文匹配
- 匹配数字(0代表随机):当匹配出现多个值匹配时,通过该数字确认取哪一个,从1开始,0表示取随机,负数表示取所有
- 缺省值:未匹配到时,指定的默认值
- 要检查的响应字段:
- 示例:
- 服务器返回如下:
- 正则表达式提取器如下:
- 查看结果:
- 服务器返回如下:
2.7.4、边界提取器
- 作用:根据左右边界提取所需的值,简单实用
- 参数说明: