zoukankan      html  css  js  c++  java
  • Jmeter之Json表达式关联

            Jmeter使用中,通常用的最多的是正则表达式和Xpath表达式,但是现在大多数网站都用的Json返回数据,而且数据还特长的那种,作为合格的测试人员也要适应技术潮流发展,下面介绍利用Json Extractor进行Json表达式关键字信息提取并传递变量。

    Variable names            : 名称 
    JSONPath Expression  :JSON表达式 
    Match Numbers           :0代表随机,1代表第1个,-1代表全部
    Default Value               :未取到值的时候默认值 

    Jsonpath写法:

    {
    	"reason":"查询成功",
    	"result":[
    		{
    			"id":"1",
    			"province":"安徽"
    		},
    		{
    			"id":"2",
    			"province":"澳门"
    		},
    		{
    			"id":"3",
    			"province":"北京"
    		},
    		{
    			"id":"4",
    			"province":"福建"
    		},
    		{
    			"id":"34",
    			"province":"重庆"
    		}
    	],
    	"error_code":0
    }
    

                $..id:列出所有省份

     

                   $..result[0].province:提取result中第一个list里面的province

               

                    $..[?(@.province=='北京')]:筛选出province为北京的所有list数据

                    $.result[:2].province:筛选前两条数据

    PS:注意观察中括号里的符号

    $.result[:2].province  是筛选前两条数据

    $.result[2].province   是排除前两条数据

    $.result[-2].province  是排除后两条数据

    总结:

    1、冒号在前

          :index  正序取值,取数为index(正数第一条)

          :-index 倒序过滤,取数为index(倒数第一条)

    2、没有冒号

           index 表示顺序取index+1的值(取第二条数据)

    3、冒号在后

           index: 顺序过滤,取数为index(正序过滤第一条数据)

           -index:倒序取值,取数为index(倒序取一条数据)

    $..[?(@.id=="63")].["title","tags","imtro"]:匹配id=63下title、tags、imtro的数据

    注:JSON Extractor使用json path表达式匹配,可以一次取多个变量值。$表示响应的根对象。取子对象或对象的属性用.  取数组里的对象用[],数组索引从0开始 

    1:添加一个JSON Extractor表达式,分号分隔多个参数名;分号分隔多个json表达式;分号分隔多个匹配数字;分号分隔多个默认值(必填)

    2:所有的个数一定要匹配,任一个不匹配该请求都不会在提取成功

  • 相关阅读:
    JProfiler_SN_8_x key
    java格式化百分比
    获取每月第一天最后一天 java
    java 获取昨天日期
    eclipse git提交代码
    SIT与UAT的分别
    Spring <context:annotation-config/> 说明
    Hibernate日期映射类型
    Oracle查询备注信息
    Log4J入门
  • 原文地址:https://www.cnblogs.com/Orange-ysen/p/11236297.html
Copyright © 2011-2022 走看看