jemter获取响应数据为json格式中某一数据

【以下文字信息摘抄牛老师的语录】

我们在做http接口测试的时候,返回的数据都是json串,Jmeter中本身是不支持直接处理json串的,如果要获取到返回结果中指定的值,必须要通过正则表达式来获取到,正则表达式比较麻烦,写错了就获取不到值了,大家都知道json是key-value这样来存值的,那jmeter里面能不能直接通过key取值呢,这样的话就不用正则表达式那么麻烦了。
如果想要通过key直接取值的话,jmeter官方有一个 json path extractor的插件,装上它就可以直接处理json了,通过key来取值。该插件下载地址为:http://jmeter-plugins.org/wiki/JSONPathExtractor/,下载完之后,把lib文件夹放到jmeter的目录下就ok了。
打开jmeter,这里用的jmeter是3.0版本,新建一个调用接口的http请求,然后添加后置处理器,就可以看到有json path extractor这个插件了,如下图:

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

{
        "error_code": 0,
        "stu_info": [
                {
                        "id": 5667,
                        "name": "dxl3",
                        "sex": "女",
                        "age": 21,
                        "addr": "上海南京街",
                        "grade": "双子座",
                        "phone": "13918733023",
                        "gold": 2900
                },
                {
                        "id": 5879,
                        "name": "dxl3",
                        "sex": "女",
                        "age": 21,
                        "addr": "上海南京街",
                        "grade": "双子座",
                        "phone": "13976123956",
                        "gold": 100
                }

分析一下这个json串,id在stu_info这个列表里面存着,取第一个id,那就要先取到stu_info里面的值,再取stu_info里面的第一个元素,就是学生信息,再取到id。

jp@gc - JSON Path Extractor中使用$代表原来接口的返回值,取值如下图:

这样就可以直接使用key来取json里面的值了,快去试试吧。

猜你喜欢

转载自www.cnblogs.com/skyxiuli/p/10547512.html