后置处理器-正则表达式提取器、JSON提取器

一、正则表达式提取器

1、允许用户从服务器的响应中通过使用perl的正则表达式提取值。该元素会作用在指定范围取样器,用正则表达式提取所需值,生成模板字符串,并将结果存储到给定的变量名中。

APPly to:作用范围(返回内容的断言范围)

         Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器

         Main sample only:仅作用于父节点的取样器

         Sub-samples only:仅作用于子节点的取样器

         JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)

要检查的响应字段:需要检查的响应报文的范围

         主体:响应报文的主体

         Body(unescaped):主体,响应的主体内容且替换了所有的html转义符,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用 

         Body as a Document:从不同类型的文件中提取文本,注意这个选项比较影响性能 

         Response Headers:响应信息头

         Request Headers:请求信息头

         URL:统一资源定位符,即Internet上用来描述信息资源的字符串

         Response Code:响应状态码,比如200、404等

         Response Message:响应信息

引用名称(Reference Name):Jmeter变量的名称,存储提取的结果;即下个请求需要引用的值、字段、变量名(例子中我提取的是SOCIAL_NO)

引用方法:引用方法:${引用名称}

正则表达式(Regular Expression):使用正则表达式解析响应结果,“()”表示提取字符串中的部分值,请不要使用“||”,除非你本身需要匹配这个字符。

下面是常用的正则表达式操作符:

模板(Template):从匹配的结果中创建一个字符串,这是通过正则表达式匹配出来的一组值,意为使用提取到的第几个值(可能有多个值匹配,因此使用模板);从1开始匹配,以此类推.

匹配数字(Match No):正则表达式匹配数据的结果可以看做一个数组,表示如何取值:0代表随机取值,正数n则表示取第n个值(比如1代表取第一个值),负数则表示提取所有符合条件的值。

缺省值:匹配失败时候的默认值;通常用于后续的逻辑判断,一般通常为特定含义的英文大写组合,比如:ERROR

 

 

 

二、JSON提取器

Names of created variables:匹配到的数据存储的变量名称,后续可以使用${variable name}引用它
JSON Path Expressions:JSON路径表达式,【$.】固定写法
Match No. (0 for Random):如果匹配到多个结果,选择使用哪个。0代表随机,-1代表全部,x代表第x个
Compute concatenation var:勾选此项后,如果匹配到多个结果,JMeter会使用","将他们连接起来,存储在的变量中
Default Values:默认值,如果JSON 路径表达式未能匹配到值,将使用该默认值

 

 

1、简单json写法如下:

$.data.token

$..token

2、复杂json写法如下:

$.data.list[0].storeName

$.data.list[?(@.custCode =='${custCode}')].storeName

 

posted @ 2021-01-25 16:00  拉风de🍂  阅读(409)  评论(0)    收藏  举报