后置处理器中有各种提取器,用于从请求结果中提取出来数据,提取出的数据可以传递到下一个请求,进行响应数据传递。

1.json提取器

jmeter学习5--后置处理器,提取器

jmeter学习5--后置处理器,提取器

Match No,1代表第一个,0代表随机,-1代表全部

提取器要放到http请求下面,提取出的数据可以在调试取样器中查看

jmeter学习5--后置处理器,提取器

jmeter学习5--后置处理器,提取器

可以在响应中进行调试jsonpath

jmeter学习5--后置处理器,提取器

 

JSON Path表达式

 

JSON Path 描述
$ 表示根元素
@ 表示当前节点
表示子节点
.. 选择所有符合条件的节点
* 所有节点
[] 迭代器标识,如数组下标
[,] 支持迭代器中多选
[start:end:step] 数组切片
?() 支持过滤
() 支持表达式计算
  1. {
        "store":{
            "book":[
                {
                    "category":"reference",
                    "author":"Nigel Rees",
                    "title":"Sayings of the Century",
                    "price":8.95
                },
                {
                    "category":"fiction",
                    "author":"Evelyn Waugh",
                    "title":"Sword of Honour",
                    "price":12.99
                },
                {
                    "category":"fiction",
                    "author":"Herman Melville",
                    "title":"Moby Dick",
                    "isbn":"0-553-21311-3",
                    "price":8.99
                },
                {
                    "category":"fiction",
                    "author":"J. R. R. Tolkien",
                    "title":"The Lord of the Rings",
                    "isbn":"0-395-19395-8",
                    "price":22.99
                }
            ],
            "bicycle":{
                "color":"red",
                "price":19.95
            }
        }
    }
JSONPath 结果
$.store.book[*].author 书店所有书的作者
$..author 所有的作者
$.store.* store的所有的元素,包括book和bicyle
$.store..price store所有东西的price
$..book[2] 第三本书
$..book[(@.legnth-1)] 最后一本书
$..book[0,1] 前面的两本书
$..book[:2] 前面的两本书
$..book[?(@.isbn)] 过滤出所有的包含isbn的书
$..book[?(@.price<10)] 过滤出价格低于10的书
$..* 所有元素

2.正则表达式提取器

jmeter学习5--后置处理器,提取器

引用名称:参数名  后续引用格式${参数名}

正则表达式:参考第一步的响应数据 "Message":"(.*?)"

(如果正则表达式里取多个值,比如:"RetMsg":"(.*?)","Message":"(.*?)"。取参格式${参数名_g1},${参数名_g2})

模板:$n$  正则表达式里取多个参数,模板指定取第几个

匹配数字:0随机,-1所有,1第一个匹配的值,2第二个匹配的值。。。

缺省值:如果没有匹配项 参数值取缺省值

jmeter学习5--后置处理器,提取器

使用提取出来的变量,${变量名称}在要使用的地方即可

 

 

 

 

 

 

 

相关文章: