Jmeter(三十三)_JsonPath表达式提取响应

  我们在用jmeter做接口测试的时候,有的时候会遇到一些复杂的json响应。比如多层list嵌套时的取值

  一个简单的例子:

  

  $..Name:列出所有省份

  

  $..Province[0].Name 提取Province中第一个list中的Name

  

  $..[?(@.Name==‘Beijing‘)] 筛选出省份名为Beijing的所有list数据

  

  $.Province[:2].population 筛选前两条数据

  

  注意:$.Province[:2].population 是筛选出前两条数据 ;$.Province[2].population 是排除前两条数据;$.Province[-2].population是排除后两条数据,千万别弄混了哦~

  下面列举一个复杂的例子:

  

 这是一个多层嵌套的jsonlist,需要提取所有cabinInfos列表下,patFlag=Y时的cabin,standardPrice和finallyPrice。是不是听起来就很复杂?如果按照传统的正则表达式提取,那么   很难满足这里的需求了。因此就需要用到jsonpath表达式。

$..[?(@.patFlag=="Y")].["cabin","standardPrice","finallyPrice"]

提供mock接口,jmeter直接访问即可: https://easy-mock.com/mock/5b88b27476b79510db917603/example/query1

关于jsonpath的其它用法,有待各位继续取研究~     

你还在为找不到可练习的接口而烦恼吗?现在加入龙渊阁,手把手教你搭建属于自己的接口测试环境!

点击这里进入史上最具活力的测试交流平台

原文地址:https://www.cnblogs.com/Zfc-Cjk/p/9568438.html

时间: 2024-10-31 04:06:43

Jmeter(三十三)_JsonPath表达式提取响应的相关文章

Jmeter如何提取响应头部的JSESSIONID

近期有柠檬班的学生找到华华,问了一个问题,就是利用Jmeter做接口测试的时候,如何提取头部的JSESSIONID然后传递到下一个请求,继续完成当前用户的请求. 其实,关于这个问题有三种种解决方法: 1)从响应数据里面提取JSESSIONID,点击链接可以查看https://www.cnblogs.com/liulinghua90/p/5320290.html 2)如果响应数据里面没有返回JSESSIONID,那么就可以保持cookie,点击链接可以查看:https://www.cnblogs.

Jmeter(5)JSON提取器

Jmeter后置处理器-JSON提取器 JSON是一种轻量级数据格式,以“键-值”对形式组织数据. JSON串中{}表示对象,[]表示对象组成的数组.对象包含多个“属性”:属性值,属性值可以是值.数组.对象. JSON提取器用json path表达式匹配.S表示根对象,取子对象或者对象的属性用.  取数组对象用[],数组索引从0开始 规则: 1.整个响应是个数组(数据用[]括起来),其中有N个对象,那么取值用$[索引].属性值,索引为0到N-1,表示第几个对象,取值用$[*].属性值取所有值 2

jmeter--正则表达式提取器

今天实际操作了一下,正则表达式的提取,再此做一下总结. 首先先介绍一下正则表达式需要使用到的符号,并解释一下: #################################################################################################### (  ):封装了待返回的匹配字符串. .   :匹配任何字符. +  :一次或多次. ?   :不要太贪婪,在找到第一个匹配项后停止. 如果没有?,在找到第一个匹配项后,会继续寻找,直到

jmeter压测学习5-XPath提取器

前言 有些web项目是前后端不分离的,返回的内容不是那种纯进口返回json格式,返回的是一个HTML页面. 并且有些参数是隐藏在html里面的,需要先从html页面中取出隐藏参数,如:csrfmiddlewaretoken 场景案例 我这里有个django项目的admin后台页面为案例 输入账号和密码登录成功后,抓包发现除了账号和密码参数,还有一个参数csrfmiddlewaretoken,并且这个参数每次都是动态的,不是固定值 所以在请求这个login接口的时候,需要先获取csrfmiddle

iOS开发——错误总结篇&开发中常见错误和警告总结(三十三)

开发中常见错误和警告总结(三十三) 动画冲突 错误: Unbalanced calls to begin/end appearance transitions for <uivewcontroller> 解决方法1:去掉动画 解决方法2:监听当前view的动画是否完成 解决方法就是,加一个BOOL型的变量,检查是否在做动画. 1 2 if (transiting) { 3 return; 4 } 5 transiting = YES; 6 [self transitionFromViewCon

笨鸟学php(三) 运算符与表达式

一.算术运算符    +   -  *  /  %  ++  -- <?php $a = 100; $a++; // $a=$a+1; 先用变量再自增1 ++$a; // $a=$a+1; 先用自增1再用变量 $a--; // $a=$a-1; 先用变量再自减1 --$a; // $a=$a-1; 先用自减1再用变量 echo "a = ".$a."<br>"; // 100 $b = $a % 3.3; // % 会把两边的数转为整数后再进行整除

NeHe OpenGL教程 第三十三课:TGA文件

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第三十三课:TGA文件 加载压缩和未压缩的TGA文件: 在这一课里,你将学会如何加载压缩和为压缩的TGA文件,由于它使用RLE压缩,所以非常的简单,你能很快地熟悉它的. 我见过很多人在游戏开发论坛或其它地方询问关于TGA读取的问题.

JMeter学习-007-JMeter 断言实例之一 - 响应断言

之前的文章中已经对如何录制 web 的请求进行了详细的描述,敬请参阅:JMeter学习-004-WEB脚本入门实战 同时,我们的手机应用(例如:京东.天猫.唯品会.携程.易迅 等等 App)所发出的请求,也可进行录制,只需要将手机连接的无线网络代理到本机(以 iPhone 为例,依次点击 [设置]/[无线局域网]/[连接网络信息,即网络右侧详细信息符号]/[HTTP代理]/手动],填写 服务器IP.端口 对应填写 JMeter 机器的 IP.JMeter HTTP 代理端口 即可),并将对应的端

JAVA之旅(三十三)——TCP传输,互相(伤害)传输,复制文件,上传图片,多并发上传,多并发登录

JAVA之旅(三十三)--TCP传输,互相(伤害)传输,复制文件,上传图片,多并发上传,多并发登录 我们继续网络编程 一.TCP 说完UDP,我们就来说下我们应该重点掌握的TCP了 TCP传输 Socket和ServiceSocket 建立客户端和服务端 建立连接后,通过Socket中的IO流进行数据的传输 关闭Socket 同样的,我们的客户端和服务端都是两个独立的应用 我们通过查阅API文档发现,该对象在建立的时候,就可以去连接指定主机,因为tcp是面向连接的,所以在建立socket服务时,