性能测试--jmeter中使用jsonpath提取响应结果【17】

目录

一、应用的背景

二、举个栗子🌰

1、创建请求

2、创建json提取器

3、创建调试取样器和察看结果树

4、创建foreach控制器

5、创建新请求

6、执行全部请求


一、应用的背景

jsonpath在返回为json的时候使用,使用方法和正则有点类似

https://blog.csdn.net/Mojitoice/article/details/114096747?spm=1001.2014.3001.5501  正则的可以参考该文章

二、举个栗子🌰

1、创建请求

https://gank.io/api/v2/categories/Article

如何发起get请求,可以参考这个文章https://blog.csdn.net/Mojitoice/article/details/111464105?spm=1001.2014.3001.5501

该请求的返回值是json字符串形式

{
    "data": [
        {
            "coverImageUrl": "http:\/\/gank.io\/images\/b9f867a055134a8fa45ef8a321616210",
            "_id": "5e59ec146d359d60b476e621",
            "title": "Android",
            "type": "Android",
            "desc": "Always deliver more than expected.(Larry Page)"
        },
        {
            "coverImageUrl": "http:\/\/gank.io\/images\/d435eaad954849a5b28979dd3d2674c7",
            "_id": "5e59ed0e6e851660b43ec6bb",
            "title": "苹果",
            "type": "iOS",
            "desc": "Innovation distinguishes between a leader and a follower.(Steve Jobs)"
        },
        {
            "coverImageUrl": "http:\/\/gank.io\/images\/c1ce555daf954961a05a69e64892b2cc",
            "_id": "5e5a25346e851660b43ec6bc",
            "title": "Flutter",
            "type": "Flutter",
            "desc": "The man who has made up his mind to win will never say \u201C Impossible\u201D。( Napoleon )"
        },
        {
            "coverImageUrl": "http:\/\/gank.io\/images\/4415653ca3b341be8c61fcbe8cd6c950",
            "_id": "5e5a254b6e851660b43ec6bd",
            "title": "前端",
            "type": "frontend",
            "desc": "Education is a progressive discovery of our own ignorance. ( W. Durant )"
        },
        {
            "coverImageUrl": "http:\/\/gank.io\/images\/964552b931d5470ea1506fc2b0f1cba9",
            "_id": "5e5a255c6e851660b43ec6be",
            "title": "后端",
            "type": "backend",
            "desc": "If you do not learn to think when you are young, you may never learn. ( Edison )"
        },
        {
            "coverImageUrl": "http:\/\/gank.io\/images\/c3c7e64f0c0647e3a6453ccf909e9780",
            "_id": "5e5a25716e851660b43ec6bf",
            "title": "APP",
            "type": "app",
            "desc": "Do not, for one repulse, forgo the purpose that you resolved to effort. ( Shakespeare )"
        }
    ],
    "status": 100
}

现在需要将data中的每个type都取出来,作为下面请求的请求参数。

2、创建json提取器

主要的作用就是把上面请求的返回值通过jsonpath将我们想要的数据提取出来

其中apply to:指的是适用范围

name of created variables :指的给取出来的数据定义变量名

json path ecpressions:jsonpath表达式

match No : 0 代表的随即取出一个,-1代表取出所有,这里我们使用-1

3、创建调试取样器和察看结果树

主要作用就是查看是否可以将数据取出来

创建好后,可以运行,第一步的请求。显示如下,就代表的jsonpath正常,可以将数据都取出来

4、创建foreach控制器

主要作用就是将取出来的数据,储存为一个变量,循环的给到后面的请求,这样后面的请求可以拿着这个变量,作为请求参数,再次发起请求

针对该线程组添加,和第一步的http请求平级

添加后显示如下:

输入变量前缀:就是在json提取器中定义的变量名称,在调试取样器中也可以看到,前缀为type

开始循环字段和结束循环字段:第一位为0,最后一位为总匹配数6 

输出变量名称:这个变量名称是用于后面请求的使用。

勾选:默认勾选。从调试取样器中可以看到,都是存在下杠的

5、创建新请求

在foreach下创建请求。注意:一定在foreach下创建。并在此新请求中引用上一步输出的变量。

6、执行全部请求

在每个请求上都拼接上了我们通过jsonpath取出来的数据。一共6个请求。

 

以上。。。结束。。。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值