• jmeter对JSON返回数据处理和后续调用


    想要解决的问题:

    测试时,token等前面接口返回的数据,后面的请求时需要用到,通过查询接口,获取response数据,作为下个请求post的参数值

     后置处理器:JSON Extractor

    1.先下载一个插件:JSONPathExtractor,使用时位置如图:

    2.JSON提取器的参数说明

     

    ①Names of created variables: 后续请求的参数名称 
    ②JSON Path expressions:JSON表达式 ,用$表示json返回数据的整体。
    ③Match No.(0 for Random):匹配哪个,可为空即默认第一个 
    ④Default Values:未取到值的时候默认值

    3.举例response返回JSON数据:

    复制代码
    {
        "code": "200",
        "message": "请求成功",
        "data": {
            "token": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI0MjQwNTc2MTQ5ODE4MDgxMjgiLCJleHAiOjE1OTQ3Mjk3MzN9.Wgn6-MqpVLqP2PXjRAathQH9ZQ_lE1syM8syrSaSQlg",
            "rtoken": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI0MjQwNTc2MTQ5ODE4MDgxMjgiLCJleHAiOjE1OTg5NjE1MzN9.UIITrTrF5nD9EQUTME35iEkPbTph7phWAKr_UD7lPOY",
            "employeeNo": "11288011",
            "uid": "424057614981808128"
        }
    }
    复制代码

    JSON Path expressions 中:①取值message,可用$.message;②取值token,可用$.data.token

    4.后续使用方法

    后面的HTTP请求需要前面的参数时,token直接用${token}即可。

    5.返回数据较多的举例

    如下,response返回数据:

    复制代码
    {
        "code": 2000,
        "message": "success",
        "body": {
            "identifier": "JKCS5449-4",
            "useScopeStr": "全部",
            "executeTypeStr": "按周执行",
            "timeDTOList": [
                {
                    "executeTime": "08:00",     
                    "weekStr": "星期六"
                }
            ]
        }
    }
    复制代码

    JSON Path expressions 中:

    ①. 取值identifier,可用$.body.identifier

    ②. 取值weekStr(数组),可用$.body.timeDTOList[0].weekStr

    6. JSON响应断言

      当使用JSON请求和返回数据时,会出现请求的返回状态码是200,结果正常。但在JSON的返回数据中,却有code一项说明JSON是否取值正常,例如上面的代码样例。此时需要判断JSON中的结果是否正确。

      最简单的办法,就是判断JSON中是否包含正确的信息,例如第一个,正确的返回会包含“请求成功”。

     添加“响应断言”,测试字段选择“响应文本”,匹配规则选择“字符串”,测试模式输入“请求成功”。

     这样就可以判断JSON返回是否正常。

    原文参考:https://www.cnblogs.com/rechin/p/8662744.html

    如果想使用正则表达式提取,可参考:https://www.cnblogs.com/rechin/p/9134069.html

    断言的可参考文档:https://www.cnblogs.com/georgexu/p/11224095.html

  • 相关阅读:
    第十五章:字段与属性
    第二十章:封装与继承
    第二十一章;泛型List
    第十九章:对象初始化器
    第十八章:构造方式
    第十七章:方法的重载
    request和response对象常用方法
    面向对象(1)
    request和response
    tomcat
  • 原文地址:https://www.cnblogs.com/jintianniu/p/13301301.html
Copyright © 2020-2023  润新知