Jmeter JSON提取器的使用

Jmeter接口测试的使用及用户定义的变量进行参数化关联:https://blog.youkuaiyun.com/dhfaksljdfksajdnks/article/details/108456773

jmeter 正则表达式提取器的使用请访问:https://blog.youkuaiyun.com/dhfaksljdfksajdnks/article/details/108551693

Jmeter JSON提取器的使用

应用场景:个人理解同正则表达式差不多,通过JSON提取器来获取上一个接口返回的某个参数 作为下一个接口的请求参数

HTTP请求右键:添加--后置处理器--JSON提取器

JSON提取器的详情页面及页面参数的解释

Apply to:应用范围

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

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

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

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

Names of created veriables:根据自己的风格随便填写,在后面引用需要用到

JSON Path expressions: 从json相应中提取内容的表达式(下面会有案例来理解)

Match No.(0 for Random): 0 随机的,n对于第n个,也就是想取第几个就填写几

Compute concatenation var(suffix_ALL):

Default Valies: 如果表达式不适用于正在处理的json文档使用此处的默认值

接下来我们用一个实际json来演示Json提取的表达式:如下json

{
    "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
        }
    },
    "expensive": 10
}

$.store.book[*].author     所有书籍的作者  结果:Nigel Rees,Evelyn Waugh,Herman Melville,J. R. R. Tolkien

$..author    所有作者     结果:Nigel Rees,Evelyn Waugh,Herman Melville,J. R. R. Tolkien

$.store..price    结果:所有的价格

$..book[2].price    第三本书的价格    结果:8.99

$..book[2]    结果:第三本书

$..book[-2].price    倒数第二本书的价格    结果:12.99

$..book[1,2].price    第二本书和第三本书的价格    结果:12.99,8.99

$..book[:3].price    从索引0到索引3书的价格 包含索引0但不包含索引3 也就是第一本第二本第三本的价格因为数组是从0开始的   结果:8.95,12.99,8.99

$..book[1:3].price    从索引1到索引3书的价格 包含索引1但不包含索引3 也就是第二本第三本的价格   结果:12.99,8.99

$..book[-1:].price    最后一本书的价格    结果:22.99

$..book[?(@.isbn)].price    所有带isbn编号图书的价格    结果:8.99,22.99

$.store.book[?(@.price<10)]    价格低于10 的图书    结果:第一本和第三本

$..*    结果:返回所有的内容

$..book.length()    结果:4

内容提取出来了但是怎么关联呢很简单在下一个接口需要这个参数的时候直接引用即可,括号里面的引用内容就是在json提取器详情页面在  Names of created veriables  填写的内容  

以上基本可以满足使用了,如果有其他需求自行百度一下吧,感谢阅读,如有什么疑问可在留言区留言 谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值