六、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中新增接口,运行后在查看结果数中就能看到最新主题的内容

3、新增JSON Extractor

关于JSON path的表达式可以到这里看,非常详细:http://goessner.net/articles/JsonPath/

$  表示跟节点;

[] 表示数组,0表示第一个;$[0]   表示跟节点后的第一个对象

id 即key,这里要获取id的值,所以填写id

4、运行,查看结果

看一下JSON Extractor抓取的第一个id的值

抓取出来后就可以做断言、关联用了

时间: 2024-11-05 12:07:19

六、Jmeter后置处理器JSON Extractor的相关文章

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

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

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

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

【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后置处理器解析unicode 编码转换

使用Jmeter过程中发现,从查看结果树看到部分内容需要decode,此处参考曲线救国的方法. 步骤: 添加后置处理器-BeanShell PostProcessor 在scripts处添加相关代码,之后执行即可 1 //获取响应代码Unicode编码的 2 3 String s2=new String(prev.getResponseData(),"UTF-8"); 4 //---------------以下步骤为转码过程--------------- 5 char aChar; 6

Jmeter后置处理器

一.什么是关联? 将请求1的输出 作为 请求2 的输入,则称之为关联 二.通过JSON Path Extrator进行关联 1.添加JSON Path Extractor(需要下载安装插件) 2.设置JSON Path Extractor进行关联 注意:JSONPath Expression中指定要提出参数必须存在(即"用户登录"请求中返回的变量中包含该变量) 3."查询用户信息"请求中需要用到"用户登录"请求返回的token

jmeter后置处理器,正则表达式提取器的使用

[使用场景]:下一个请求参数需要从上一个请求的响应数据中获取 [jmeter正则表达式说明]:使用perl正则表达式(可参考:http://www.runoob.com/perl/perl-regular-expressions.html) [语法]: () 括起来的部分就是要提取的. .   匹配任何字符串. *  表示任意个字符 + 一次或多次. ? 不要太贪婪,在找到第一个匹配项后停止. \d        数字 \w       数字或者字母 {n}       表示n个字符 {n,m}

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

JSON提取器可以很方便的让你从JSON响应格式中提取数据. 1)Name:JSON提取器的名称. 2)Apply to:应用范围,有些采样器还嵌套子采样器,可以在此处设置JSON提取器是作用与主采样器和子采样器还是仅仅主采样器等. 3)Names of created variables:分号分割的变量的名称. 4)JSON Path expressions:JSON Path表达式. JSON Path 描述 $ 表示根元素 @ 表示当前节点 .  表示子节点 .. 选择所有符合条件的节点

JMeter学习-009-JMeter 后置处理器实例之 - 正则表达式提取器(二)多参数获取

前文简述了通过后置处理器 - 正则表达式提取器 获取 HTTP请求 响应结果中的特定数据,未看过的亲,敬请参阅 JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一). 此文主要对正则表达式提取器的 正则表达式.模板.匹配数字,三者的关系,做进一步的讲解. 截取商品列表响应结果数据中的一段商品数据如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 {     "s

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

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