Jmeter获取 json字符的另外一种写法
在jmeter使用过程中,我们经常会看到接口返回数据类型为application/json,也就时我们常说的json格式。
而在功能测试时,我们经常会要对它的结果进行断言,确认结果是否与预期一致,有时候还会想从结果中提取某个值,作为下一个接口的输入,俗称关联。
之前,我有写过一篇文章,jmeter 不写代码,秒秒钟提取动态列表最后一个值 大家想了解的话,可以去看看。
今天这篇,我们将在此基础上,给大家讲一些更多的鲜为人知的jsonpath技巧。
平时大家用jsonpath提取某个值,用的都是$.key1.key2.key3这样用一个点加节点名称,一步一步往下找,直到找到为止,对吗?
有没有觉得,这样的写法很死,很古板,万一有一天,key2的名称变了,这个路径是不是就不能用了,就错误了。
哪我们有没有好的办法呢?
今天,我就给大家讲一个非常非常好用的办法,用形如 $..key3 用两点,加唯一末梢节点名称。


这样还有什么好处呢?

看到吗?把所有的值都获取出来了。
那可能又有同学会问了,我不想要所有的,我只想要其中某几个,怎么搞?


或者,我只想要最后一个?

或者,还有同学,想刁钻一下,说我只想要满足某个条件的值。
如:我只想要id>200的手机号码

哇, 看到没有,原来json可以切片,还可以条件取值。
其实,我告诉大家,它还有一个

看到没有,很神奇,对吧,居然一次性把所有的value值 全都取出来了。
是不是太不可思议了。
这是哪个老师教的说json提取只是用$.这样的方式,还有这么多,都不说的。
我告诉大家,这些,不是老师不说,是国内,这些技巧鲜有人知。只有我们柠檬班才会和大家说。
来源: https://mp.weixin.qq.com/s/rZa9lSJSaTie_h8x_3NBBg
Jmeter获取 json字符的另外一种写法的更多相关文章
- 史上最全的 jmeter 获取 jdbc 数据使用的4种方法——(软件测试Python自动化)
周五,下班了吗?软件测试人. 明天是周末了!给大家推荐一个技术干货好文.史上最全的 jmeter 获取 jdbc 数据使用的四种方法.我也精剪了jmeter的自动化接口测试的视频放在了同名UP主,周末 ...
- ASP.NET MVC中获取URL地址参数的两种写法
一.url地址传参的第一种写法 1.通过mvc中默认的url地址书写格式:控制器/方法名/参数 2.实例:http://localhost:39270/RequestDemo/Index/88,默认参 ...
- 史上最全的 jmeter 获取 jdbc 数据使用的四种方法
jmeter使用jdbc协议获取数据库中数据,很多人都会用,因为大家在做测试的时候,有时候需要大量的用户进行登录,获取需要数据库中真实的数据用于测试,所以常常会用jdbc来获取数据库数据. 那从数据库 ...
- 前台获取json未定义问题之两种常用解决办法
来自博客园的一位朋友解答: 为什么要 eval这里要添加 “("("+data+")");//”呢? 原因在于:eval本身的问题. 由于json是以”{}”的 ...
- js获取json属性值的两种方法
1.json.XXX 2.json["XXX"] 第二种方法使用场景,当属性值是变量时.如图所示:
- JMeter获取JSON内容
source("D:\\apache-jmeter-3.0\\用例\\Test.java"); public static void f(){ String response_da ...
- 菜鸟学习Spring——SpringMVC注解版在服务器端获取Json字符串并解析
一.概述. SpringMVC在服务端把客户端传过来的JSON字符串,并把JSON字符串转成 JSON对象并取得其中的属性值,这个在项目中经常用到. 二.代码演示. 需要添加的jar包. 2.1 we ...
- javascript获取json对象的key名称的两种方法
javascript获取json对象的key名称的两种方法 数据处理中,你可能接收到一个不确定内容格式的json对象,然后要把key的值提取出来.今天试过两种可以提取json key的方法,均可以正常 ...
- jQuery异步获取json数据的2种方式
jQuery异步获取json数据有2种方式,一个是$.getJSON方法,一个是$.ajax方法.本篇体验使用这2种方式异步获取json数据,然后追加到页面. 在根目录下创建data.json文件: ...
随机推荐
- selenium常用的API(四)设置get方法最大加载时间
我们在进行自动化测试的时候,使用get方法打开页面时会等到页面完全加载完才会执行后续操作, 有时我们需要的元素已加载完成,而部分JS未加载完导致加载时间很长,这无疑增加了自动化测试的时间, 针对此情况 ...
- CentOS7.5环境下搭建禅道
在安装配置禅道之前,可以百度了解一下两款项目管理工具禅道与JIRA的区别. 一.安装 进入禅道官网https://www.zentao.net,选择适用的版本进行安装,我这里下载的是“开源版11.6” ...
- 开发环境搭建之springboot+tk.mybatis整合使用逆向工程
一,引入xml文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorCo ...
- Linux——安装并配置Kafka
前言 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动 ...
- Java内存区域与内存溢出异常(jdk 6,7,8)
运行时数据区域 Java虚拟机在执行Java程序的过程中会把它关联的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户 ...
- js添加触摸时间,禁止页面缩放
<meta name="viewport" content="target-densitydpi=320,width=640,user-scalable=no&qu ...
- jquery ajax请求数据超时设置
var ajaxTimeoutTest = $.ajax({ url:'', //请求的URL timeout : 1000, //超时时间设置,单位毫秒 type : 'get', //请求方式,g ...
- 1129. Shortest Path with Alternating Colors
原题链接在这里:https://leetcode.com/problems/shortest-path-with-alternating-colors/ 题目: Consider a directed ...
- PHP正则表达式提取html超链接中的href地址
$preg='/<a .*?href="(.*?)".*?>/is'; preg_match_all($preg,$str,$array2); ;$i<count ...
- Vector(动态数组)怎么用咧↓↓↓
定义方式:vector<int> a; //二维vector<int>a[100] 在末尾压入容器:a.push_back(x);//二维 a[i].push_back(x) ...