美文网首页Jmeter
JMeter基础系列(十) JMeter关联之JSON提取器Js

JMeter基础系列(十) JMeter关联之JSON提取器Js

作者: 熊一二 | 来源:发表于2020-04-14 18:32 被阅读0次

    10.1 JSON提取器「JSON Extractor」

    若响应数据格式为JSON,也可以用JSON提取器来提取需要关联的数据。 image.png

    配置项

    Apply to

    与正在表达式提取器中用法相同,不再赘述。
    

    Names of created variables

    将JSONPath提取的内容保存到指定变量,多个变量之间用“;”分隔(注意不是用,号)。
    

    JSON Path expressions

    用于提取响应数据的JSONPath表达式,
    多个JSONPath表达式之间用“;”分隔(注意不是用,号)。
    

    Match No.(0 for Random)

    若JSONPath有多个匹配项,可以选择提取哪个匹配项。
    0表示随机(默认值)
    -1表示提取所有匹配项,各匹配项可用var_1,var_2,var_3,... ,var_n表示(var为保存提取内容的变量名)
    i(i=1,2,3,...)表示第i个匹配项,若i大于匹配总数,在设置了缺省值的情况下返回缺省值,否则返回空。
    

    Compute concatenation var (suffix _ALL)

    勾选此选项,若JSONPath返回多个匹配项,
    则将各匹配项连接起来保存在var_ALL的变量中,其中var为保存提取内容的变量名。
    

    Default Values

    若JSONPath没有返回任何结果,则显示设置的缺省值。
    注意缺省值可以不设置,一旦设置,需要为每个变量设置缺省值,
    多个缺省值之间用“;”分隔(注意不是用,号)。
    

    10.2 应用案例

    沿用上面的例子。

    其实上例中第二步骤:设置查询条件(比如按商品品牌)搜索商品,响应数据为JSON,也可以使用JSON提取器提取数据。

    下面是搜索商品返回的JSON数据:

    {
        "error": 0,
        "message": "",
        "content": "<!-- $Id: goods_list.htm 17126 2010-04-23 10:30:26Z liuhui $ -->\r\n\r\n<table cellpadding= ... <\/table>\r\n\r\n",
        "filter": {
            "cat_id": 0,
            "intro_type": "",
            "is_promote": 0,
            "stock_warning": 0,
            "brand_id": 0,
            "keyword": "",
            "suppliers_id": "",
            "is_on_sale": "",
            "sort_by": "goods_id",
            "sort_order": "DESC",
            "extension_code": "",
            "is_delete": 0,
            "real_goods": 1,
            "record_count": "20",
            "page_size": 15,
            "page": 1,
            "page_count": 2,
            "start": 0
        },
        "page_count": 2
    }
    

    现在要从响应数据中提取错误代码,错误消息,返回内容三部分数据,JSON提取器设置如下:


    image.png image

    相关文章

      网友评论

        本文标题:JMeter基础系列(十) JMeter关联之JSON提取器Js

        本文链接:https://www.haomeiwen.com/subject/wvztvhtx.html