暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

JMeter:JSON提取器如何关联提取数据?

西安川石 2022-05-09
962


每天一个测试技术

只需几分钟

川石信息 带你学点更好的




川石信息|腾讯课堂

免费试学 | 自动化测试



JSON提取器


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


■ 配置项


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个匹配项,若X大于匹配总数,在设置了缺省值的情况下返回缺省值,否则返回空。


Compute concatenation var (suffiffiffix _ALL):


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


Default Values:


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



应用案例


沿用上面的例子。


其实上例中第二步骤:设置查询条件(比如按商品品牌)搜索商品,响应数据为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提取器设置如下:





    今天的内容就学习到这里了,每个工作日小编都会更新一个有关测试的小知识,希望大家多多关注我们,一起来学习喔!


    温馨提示:添加老师微信【13691729932】可以获取全套软件测试自学资料!



     往期回顾 


    深入分析JMeter正则表达式提取器(一)

    深入分析JMeter正则表达式提取器(二



    大神邀你加入

    软件测试群

    免费软件测试课

    川石课堂



    文章转载自西安川石,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论