在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字符的另外一种写法的更多相关文章

  1. 史上最全的 jmeter 获取 jdbc 数据使用的4种方法——(软件测试Python自动化)

    周五,下班了吗?软件测试人. 明天是周末了!给大家推荐一个技术干货好文.史上最全的 jmeter 获取 jdbc 数据使用的四种方法.我也精剪了jmeter的自动化接口测试的视频放在了同名UP主,周末 ...

  2. ASP.NET MVC中获取URL地址参数的两种写法

    一.url地址传参的第一种写法 1.通过mvc中默认的url地址书写格式:控制器/方法名/参数 2.实例:http://localhost:39270/RequestDemo/Index/88,默认参 ...

  3. 史上最全的 jmeter 获取 jdbc 数据使用的四种方法

    jmeter使用jdbc协议获取数据库中数据,很多人都会用,因为大家在做测试的时候,有时候需要大量的用户进行登录,获取需要数据库中真实的数据用于测试,所以常常会用jdbc来获取数据库数据. 那从数据库 ...

  4. 前台获取json未定义问题之两种常用解决办法

    来自博客园的一位朋友解答: 为什么要 eval这里要添加 “("("+data+")");//”呢? 原因在于:eval本身的问题. 由于json是以”{}”的 ...

  5. js获取json属性值的两种方法

    1.json.XXX 2.json["XXX"] 第二种方法使用场景,当属性值是变量时.如图所示:

  6. JMeter获取JSON内容

    source("D:\\apache-jmeter-3.0\\用例\\Test.java"); public static void f(){ String response_da ...

  7. 菜鸟学习Spring——SpringMVC注解版在服务器端获取Json字符串并解析

    一.概述. SpringMVC在服务端把客户端传过来的JSON字符串,并把JSON字符串转成 JSON对象并取得其中的属性值,这个在项目中经常用到. 二.代码演示. 需要添加的jar包. 2.1 we ...

  8. javascript获取json对象的key名称的两种方法

    javascript获取json对象的key名称的两种方法 数据处理中,你可能接收到一个不确定内容格式的json对象,然后要把key的值提取出来.今天试过两种可以提取json key的方法,均可以正常 ...

  9. jQuery异步获取json数据的2种方式

    jQuery异步获取json数据有2种方式,一个是$.getJSON方法,一个是$.ajax方法.本篇体验使用这2种方式异步获取json数据,然后追加到页面. 在根目录下创建data.json文件: ...

随机推荐

  1. 详解shell脚本括号区别--$()、$「 」、$「 」 、$(()) 、「 」 、「[ 」]

    概述 很多时候我们在写shell脚本的时候总会碰到不同的括号,那么这些不同的括号有什么区别呢? $() 用于命令交换 说明:平时脚本用的``符号也是用于命令交换的哦,和$() 的操作是一样的 ${ } ...

  2. 【转载】lr运行时设置,每个action 比例

    提供了再脚本运行时所需要的相关选项. 性能测试的关键之一:能否通过脚本来完全模拟用户的行为,可以通过运行设置让脚本运行的更人性化. 1. Run Logic 脚本如何运行,每个action与actio ...

  3. ASP.NET Core ---- 系列文章

    (13)ASP.NET Core 中的选项模式(Options) (12)ASP.NET Core 中的配置二(Configuration) (11)ASP.NET Core 中的配置一(Config ...

  4. Linux/Raspbian 每个目录用途说明

    本文转自无聊小博,很多刚接触树莓派/Linux 的同学会在给树莓派安装.卸载.配置软件时,软件和配置文件等存放在哪儿产生疑惑.也会遇到诸如“磁盘分区”.U盘挂载等涉及到的目录路径问题.Linux 的目 ...

  5. Object.create 以原对象为原型创建一个新对象

    Object.create = function(o){ var Fun = function(){}; Fun.prototype = o; return new Fun(); } var peo ...

  6. TensorFlow的GPU设置

    在使用GPU版的TensorFlow跑程序的时候,如果不特殊写代码注明,程序默认是占用所有主机上的GPU,但计算过程中只会用其中一块.也就是你看着所有GPU都被占用了,以为是在GPU并行计算,但实际上 ...

  7. sping boot 集成shiro

    springboot整合shiro应用   1.Shiro是Apache下的一个开源项目,我们称之为Apache Shiro.它是一个很易用与Java项目的的安全框架,提供了认证.授权.加密.会话管理 ...

  8. Tensorflow细节-P319-使用GPU基本的操作

    如果什么都不加,直接运行装了GPU的Tensorflow,结果是这样子的 import tensorflow as tf a = tf.constant([1.0, 2.0, 3.0], shape= ...

  9. C++对象内存布局,this指针,对象作为参数,作为返回值

    class TestClass { public: void setNum(int num) { m_num1 = num; } int getNum() { return m_num1; } pri ...

  10. circus web console 依赖tornado>3.2 无法访问的bug

    circus web console 是一个很不错的web 监控circus 工具,但是对于高版本一直存在一个bug 信息如下 Traceback (most recent call last): F ...