后置处理器----JSON提取器

JSON提取器可以很方便的让你从JSON响应格式中提取数据。

1)Name:JSON提取器的名称。

2)Apply to:应用范围,有些采样器还嵌套子采样器,可以在此处设置JSON提取器是作用与主采样器和子采样器还是仅仅主采样器等。

3)Names of created variables:分号分割的变量的名称。

4)JSON Path expressions:JSON Path表达式。

JSON Path 描述
$ 表示根元素
@ 表示当前节点
表示子节点
.. 选择所有符合条件的节点
* 所有节点
[] 迭代器标识,如数组下标
[,] 支持迭代器中多选
[start:end:step] 数组切片
?() 支持过滤
() 支持表达式计算
 1 { "store": {
 2     "book": [
 3       { "category": "reference",
 4         "author": "Nigel Rees",
 5         "title": "Sayings of the Century",
 6         "price": 8.95
 7       },
 8       { "category": "fiction",
 9         "author": "Evelyn Waugh",
10         "title": "Sword of Honour",
11         "price": 12.99
12       },
13       { "category": "fiction",
14         "author": "Herman Melville",
15         "title": "Moby Dick",
16         "isbn": "0-553-21311-3",
17         "price": 8.99
18       },
19       { "category": "fiction",
20         "author": "J. R. R. Tolkien",
21         "title": "The Lord of the Rings",
22         "isbn": "0-395-19395-8",
23         "price": 22.99
24       }
25     ],
26     "bicycle": {
27       "color": "red",
28       "price": 19.95
29     }
30   }
31 }
JSONPath 结果
$.store.book[*].author 书店所有书的作者
$..author 所有的作者
$.store.* store的所有的元素,包括book和bicyle
$.store..price store所有东西的price
$..book[2] 第三本书
$..book[(@.legnth-1)] 最后一本书
$..book[0,1] 前面的两本书
$..book[:2] 前面的两本书
$..book[?(@.isbn)] 过滤出所有的包含isbn的书
$..book[?(@.price<10)] 过滤出价格低于10的书
$..* 所有元素

5)匹配数字,0表示随意,-1代表所有,后续在引用时使用变量名_N取第N个值。

6)Compute concatenation var:如果找到的值很多,将把他们用‘,‘分割并保存在变量名_ALL的变量中。

7)Default Value:如果匹配不到值时,使用这里设置的默认值。

原文地址:https://www.cnblogs.com/zhuzhaoli/p/10269534.html

时间: 2024-07-30 19:50:43

后置处理器----JSON提取器的相关文章

jmeter(五)——后置处理器_JSON提取器

在做接口测试的时候,难免会遇到一个接口的请求参数是另一个接口的响应结果,这个时候就需要用到后置处理器来处理我们的请求参数.后置处理器是处理response信息的元件,JSON提取器是提取以json格式返回的数据. 后置处理器_JSON提取器创建 提取后置处理器需要的字段内容 后置处理器_JSON处理器 原文地址:https://www.cnblogs.com/sunshine-blog/p/12612323.html

【JEMTER】后置处理器JSON Path Extractor获取server端返回的json中某项值

需求1:点击所有报表模板时,server端返回所有报表模板的ID(templateId),测试时需要下载某个模板生成的报表 需求2:点击单个报表模板时,server端返回这个报表模板下的所有报表ID(fileId),获取到fileID以后便可以下载此报表 实现:添加后置处理器 配置后置处理器参数: 配置获取报表ID ---destination variable name:获取到对应的值以后,保存到的变量名 ---JSON PATH Expression 取对应值的json表达式 配置获取文件I

Jmeter入门13 后置处理器JSON Extractor提取json的多个值

json串 []表示对象组成的数组,{}表示对象. 对象里包含多个 "属性":属性值.属性值可以是值,或数组,或对象. JSON Extractor使用json path表达式匹配.$表示响应的根对象.取子对象或对象的属性用.  取数组里的对象用[],数组索引从0开始. 示例: 1  找一个响应结果是json格式的,分析响应结果. 比如下面的响应整个是个数组,其中有4个对象.因此取值用$[索引取0-3或*取所有].属性值 如果响应类似{"属性":[{"sx

Jmeter 后置处理器JSON Extractor 提取json的多个值

json串 []表示对象组成的数组,{}表示对象. 对象里包含多个 "属性":属性值.属性值可以是值,或数组,或对象. JSON Extractor使用json path表达式匹配,可以一次取多个变量值.$表示响应的根对象.取子对象或对象的属性用.  取数组里的对象用[],数组索引从0开始. 示例: 1  找一个响应结果是json格式的,分析响应结果. 比如下面的响应整个是个数组,其中有4个对象.因此取值用$[索引取0-3或*取所有].属性值 如果响应类似{"属性"

六、Jmeter后置处理器JSON Extractor

一.当接口返回是JSON格式的时候,就可以用JSON Extractor来抓取返回的值,用来关联或者断言. 1.首先,到V2EX中找一个接口,地址为:https://www.v2ex.com/p/7v9TEc53 用一个最新主题的接口: https://www.v2ex.com/api/topics/latest.json Method: GET Authentication: None(没鉴权) 这个接口返回的格式是json格式,直接打开浏览器就可以看到 2.Jmeter中新增接口,运行后在查

Jmeter(5)JSON提取器

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

Jmeter之JSON提取器

前言 很多接口都有相互的依赖性,登录接口需要依赖上一个注册接口的返回参数作为入参,今天我们来学习一下JSON提取器提取接口的返回结果 一:添加登录http请求,写入接口地址和参数,添加监听器-察看结果树,点击运行,查看返回的结果 二:添加后置处理器-JSON提取器,提取data值 三:添加取样器-Debug Sampler 看data的值是否提取到. token为data值的变量名,data值已经成功提取 原文地址:https://www.cnblogs.com/zhangwuxuan/p/12

Jmeter之JSON提取器获取数组类型的数据

前言 在之前,我们已经学会了Jmeter的JSON提取器提取某个数据,还没掌握的小伙伴可以翻看我之前写的随笔Jmeter之JSON提取器,今天我们来学习一下怎么利用JSON提取器获取数组类型的数据,多用于列表信息数据的获取. 本章知识考察点 jsonpath方式获取的值 单个值怎么获取? data.files[索引].filed 多个指定的值怎么获取? data.files 0与-1的设置有什么区别? 0表示随机值,-1表示所有的值 一:先添加登录http请求,然后再添加获取文件列表http请求

JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一)概述及简单实例

上文我们讲述了如何对 HTTP请求 的响应数据进行断言,以判断响应是否符合我们的预期,敬请参阅:JMeter学习-007-JMeter 断言实例之一 - 响应断言 那么我们如何获取 HTTP请求 响应结果中的数据呢?此文以获取类目 手机数码-手机通讯-苹果 结果列表中的第一个商品的系统编号为例演示(脚本基于上篇文章,请知悉). 如下为请求响应数据中的部分数据,我们最终要获取的数据为 "sysNo": "2142717" 中的 2142717. 1 2 3 4 5 6