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:所有的个数一定要匹配,任一个不匹配该请求都不会在提取成功

转载于:https://www.cnblogs.com/Orange-ysen/p/11236297.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值