jmeter json截取

    前些日子压测我们系统,发现我们开发把cookie值当成一个参数返回到了json中,这样就要从json中获取这个cookie后配置到cookie 管理器中

    Jmeter中本身是不支持直接处理json串的,如果要获取到返回结果中指定的值,必须要要通过正则表达式来获取到,正则表达式比较麻烦,写错了就获取不到值了,大家都知道json是key-value这样来存值的,那jmeter里面能不能直接通过key取值呢,这样的话就不用正则表达式那么麻烦了。

  如果想要通过key直接取值的话,jmeter官方有一个 json path extractor的插件,装上它就可以直接处理json了,通过key来取值。

  通过jmeter 的插件管理器去下载

(附录:jmeter插件管理器 下载地址:

    1. 下载管理插件(http://jmeter-plugins.org/)https://jmeter-plugins.org/install/Install/(插件管理器下载地址)
    2. 将下载的文件拷贝的你的JMeter根目录下的lib/ext目录
    3. 启动JMeter,点击菜单栏-选项-Plugins Manager,如图1

在管理器中寻找 

下载安装重启后,就可以看到有json path extractor这个插件了

那怎么使用呢,比如说刚才我调用的是获取用户信息的接口,我要获取到第一个user_id,返回的json是这样的:

{
    "code":200,
    "info":[
        {
            "age": 18,
            "id": 7,
            "sex": "male",
            "username": "myname"
        },
        {
            "age": 23,
            "id": 90,
            "sex": "female",
            "username": "yourname"
        }
        ]
}

分析一下这个json串,userid在info这个列表里面存着,取第一个userid,那就要先取到info里面的值,再取info里面的第一个元素,就是用户信息,再取到userid。
json path extractor中使用$代表原来接口的返回值,取值如下图:

再补充一个知识点: 就是执行有优先级 要是 cookie 管理放在外面的话 是去不到从denglu 中截取的 cookie的值的 

原文地址:https://www.cnblogs.com/hanzhao1987/p/8079321.html