Jmeter中处理json

我们在做http接口测试的时候,返回的数据都是json串,Jmeter中本身是不支持直接处理json串的,如果要获取到返回结果中指定的值,必须要要通过正则表达式来获取到,正则表达式比较麻烦,写错了就获取不到值了,大家都知道json是key-value这样来存值的,那jmeter里面能不能直接通过key取值呢,这样的话就不用正则表达式那么麻烦了。
如果想要通过key直接取值的话,jmeter官方有一个 json path extractor的插件,装上它就可以直接处理json了,通过key来取值。该插件下载地址为:http://jmeter-plugins.org/wiki/JSONPathExtractor/,下载完之后,把lib文件夹放到jmeter的目录下就ok了。
打开jmeter,这里用的jmeter是3.0版本,新建一个调用接口的http请求,然后添加后置处理器,就可以看到有json path extractor这个插件了,如下图:

 

那怎么使用呢,比如说刚才我调用的是获取用户信息的接口,我要获取到第一个user_id,返回的json是这样的:

分析一下这个json串,userid在info这个列表里面存着,取第一个userid,那就要先取到info里面的值,再取info里面的第一个元素,就是用户信息,再取到userid。
json path extractor中使用$代表原来接口的返回值,取值如下图:

时间: 2024-10-02 11:15:02

Jmeter中处理json的相关文章

JMeter中对于Json数据的处理方法

http://eclipsesource.com/blogs/2014/06/12/parsing-json-responses-with-jmeter/ Json作为一种数据交换格式在网络开发,特别是Ajax与Restful架构中应用的越来越广泛.而Apache的JMeter也是较受欢迎的压力测试工具之一,但是它本身没有提供对于Json数据的响应处理.本文中假设需要从HTTP的响应头中返回的Json格式的数据流中抽取某些特定的数据,数据格式如下: { "name":"Sim

【转】JMeter中返回Json数据的处理方法

Json 作为一种数据交换格式在网络开发,特别是 Ajax 与 Restful 架构中应用的越来越广泛.而 Apache 的 JMeter 也是较受欢迎的压力测试工具之一,但是它本身没有提供对于 Json 数据的响应处理.本文中假设需要从 HTTP 的响应头中返回的 Json 格式的数据流中抽取某些特定的数据,数据格式如下: { "name":"Simpsons family", "members":[ {"firstName"

【转】JMeter中对于Json数据的处理方法

Json 作为一种数据交换格式在网络开发,特别是 Ajax 与 Restful 架构中应用的越来越广泛.而 Apache 的 JMeter 也是较受欢迎的压力测试工具之一,但是它本身没有提供对于 Json 数据的响应处理.本文中假设需要从 HTTP 的响应头中返回的 Json 格式的数据流中抽取某些特定的数据,数据格式如下: { "name":"Simpsons family", "members":[ {"firstName"

Jmeter中的关联(正则表达式+json)-空谷幽兰

1.什么是关联? 关联即将服务器返回的动态变化的值保存为一个参数,以便后续接口使用: 2.jmeter中的关联方法 (1)正则表达式 我们现在要用正则表达式取id为1,然后作为下一个请求的入参: 正则表达式的写法:"id": (.*), "age": 18 下一个请求入参是:${id},看一下返回结果 成功取到id为1 附常用元字符: 代码 说明 . 匹配除换行符以外的任意字符 \w  匹配字母或数字或下划线或汉字 \s  匹配任意的空白符 \d  匹配数字 \b

jmeter中beanshell postprocessor结合fastjson库提取不确定个数的json参数

在项目实践中,遇到了这样一个问题.用jmeter作http接口测试,需要的接口参数个数是不确定的.也就是说,在每次测试中,根据情况不同,可能页面中的列表中所含的参数个数是不确定的,那么要提取的参数个数也是不确定的,可能是1个,也可能是2个或3个,甚至更多. 例如,返回的接口消息json消息可能如下 { "data": { "records": [{ "DEVICE_TYPE": 194, "DEVICE_STATUS": 0,

JMeter在里面Json数据处理方法

http://eclipsesource.com/blogs/2014/06/12/parsing-json-responses-with-jmeter/ Json作为一种数据交换格式在网络开发.特别是Ajax与Restful架构中应用的越来越广泛.而Apache的JMeter也是较受欢迎的压力測试工具之中的一个,可是它本身没有提供对于Json数据的响应处理. 本文中如果须要从HTTP的响应头中返回的Json格式的数据流中抽取某些特定的数据,数据格式例如以下: { "name":&qu

【转】JMeter学习(三十五)使用jmeter来发送json/gzip格式数据

一.使用jmeter来发送gzip数据 有时候我们需要模拟在客户端将数据压缩后, 发送(post)到服务器端. 通常这种情况,会发生在移动终端上. 这样做的好处, 是可以节省流量.  当然, 服务器返回的数据也可以是gzip格式, 终端在数据展现时,需要先解压缩. 同样也是为了节省网络流量. 1. 首先我们把要post的数据, 保存在文本文件里,然后gzip压缩. (可以使用linux中的gzip命令) 2. 在jmeter的http sample里, 使用"同时发送文件数据"的方式,

JMeter中3种参数值的传递

小伙伴们在使用JMeter的过程中,肯定会遇到参数值传递的问题,下面来和大家总结下,在使用JMeter做压力测试的时候,常见的3种参数值的传递是怎样的. (一)从CSV文件读取要批量输入的变量 假如我们要登录的数据保存在login.csv文件里,数据如下: 在JMeter中,我们需要添加CSV Data Set Config这个配置文件,如下图: 添加后,我们需要填写其中的必要参数,如Filename和Variable Names: 这里要注意下Variable Names里面的分隔符,为啥是用

使用Json.Net解决MVC中各种json操作

最近收集了几篇文章,用于替换MVC中各种json操作,微软mvc当然用自家的序列化,速度慢不说,还容易出问题,自定义性也太差,比如得特意解决循环引用的问题,比如datetime的序列化格式,比如性能.NewtonSoft.json也就是Json.Net性能虽然不是最好的,但是是比较靠前的,其功能是最强大的,包含各种json操作模式.现在来看看mvc中的替换1, Controller.Json方法这个方法最容易出现循环引用,比如EF查出一个一对多集合想序列化,结果a引用了子表b,b中还引用了a,导