五、Jmeter中提取JSON响应中数组的长度
json响应如下:
{
"code":0,
"data":{
"data":[
{
"amount":50000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":""
},
{
"amount":50000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时15小时 11分钟",
"createTime":"2019-12-05 18:24:56"
},
{
"amount":50000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时15小时 54分钟"
}
{
"amount":50000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":""
},
{
"amount":300000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时209小时 44分钟",
"createTime":"2019-11-27 15:51:44"
},
{
"amount":300000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时1917小时 0分钟"
},
{
"amount":300000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时1917小时 56分钟",
"createTime":"2019-09-17 11:39:22"
},
{
"amount":300000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时1984小时 54分钟",
"createTime":"2019-09-14 16:41:58"
},
{
"amount":300000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时1989小时 53分钟",
"createTime":"2019-09-14 11:42:29"
},
{
"amount":300000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时2369小时 45分钟",
"createTime":"2019-08-29 15:50:46"
}
]
},
"mask":"c7d2f67d-a5e8-45a3-8f4b-0149c4a7e434",
"msg":"success",
"timestamp":1575596175
}
取出data对象下data数据的长度
1、首先导入alibaba的fastjson-1.2.59.jar包,放置lib\ext下,版本号自选
2、在接口之后添加BeanShell PostProcessor工具
编写代码如下:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; String jsonContent = prev.getResponseDataAsString(); JSONObject response = JSON.parseObject(jsonContent);
JSONArray dataList = response.getJSONObject("data").getJSONArray("data");
int length = dataList.size(); vars.put("m_length",length.toString());
注意:一下这样写是错误的
vars.put("m_length",length);
报错信息如下:
Error in method invocation: Method put( java.lang.String, int ) not found in class'org.apache.jmeter.threads.JMeterVariables'
没有找到put( Java.lang.String, int )这个方法。此处put的value应该是String
所以需要将values转换为String类型
最后正确代码如下:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; String jsonContent = prev.getResponseDataAsString(); JSONObject response = JSON.parseObject(jsonContent);
JSONArray dataList = response.getJSONObject("data").getJSONArray("data");
int length = dataList.size(); vars.put("m_length",length.toString()); log.info("m_length=${m_length}");

五、Jmeter中提取JSON响应中数组的长度的更多相关文章
- JMETER从JSON响应中提取数据
如果你在这里,可能是因为你需要使用JMeter从Json响应中提取变量. 好消息!您正在掌握掌握JMeter Json Extractor的权威指南.作为Rest API测试指南的补充,您将学习掌握J ...
- 如何使用JMETER从JSON响应中提取数据
如果你在这里,可能是因为你需要使用JMeter从Json响应中提取变量. 好消息!您正在掌握掌握JMeter Json Extractor的权威指南.作为Rest API测试指南的补充,您将学习掌握J ...
- Jmeter(三十四)_Beanshell解析并提取json响应
1:前置条件 将fastjson-1.2.49.jar包置于jmeter的lib目录下,并将该jar包添加到测试计划的Library中:否则会报:Typed variable declaration ...
- 如何解决jersey框架中以json格式返回数组,当数组中元素一个时json格式不对
原文地址:http://www.cnblogs.com/swpk/p/3566536.html?utm_source=tuicool jersey 是oracle 出的一个较好的REST框架.使用此框 ...
- Jmeter_Beanshell解析并提取json响应
1:前置条件 将fastjson-1.2.49.jar包置于jmeter的lib目录下,并将该jar包添加到测试计划的Library中:否则会报:Typed variable declaration ...
- 提取json响应结果值_后置处理器JSON Extractor
Json响应格式 json串中{}表示对象,[]表示数组 JSON Extractor使用json path表达式匹配,可以一次取多个变量值. $表示响应的根对象. 取子对象或对象的属性用. 取数组里 ...
- Jmeter正则提取请求响应数据
前言 在测试时,我们经常需处理请求返回的响应数据,比如很多时候 cookie 或 token 或 Authorization授权码 会返回在 Response headers(响应头)中,这时我们便需 ...
- Jmeter4.0 _Beanshell解析并获取json响应数据数组长度
我们在做jmeter接口测试的时候,有时候碰到开发没返回数据total,只返回了一条条记录,可是呢,我们又需要知道到底返回了多少条数据时,咋办呢?咋办呢?咋办呢? 不要急,接下来,让我们见证奇迹是如何 ...
- Jmeter - 把提取的响应结果设置成全局变量
1. 用正则表达式从响应结果中提取需要的字符 2.添加BeanShell 后置处理程序,${__setProperty(setcookies,${cookies},)} 用函数定义其为全局变量 3.调 ...
随机推荐
- yocto 编译C程序
1. 找到编译器位置所在(相关设置参考/opt/poky/1.7/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi文件) poky安装在 ...
- Python3.8新特性--PositionalOnly参数
“理论联系实惠,密切联系领导,表扬和自我表扬”——我就是老司机,曾经写文章教各位怎么打拼职场的老司机. 不记得没关系,只需要知道:有这么一位老司机, 穿上西装带大家打拼职场! 操起键盘带大家打磨技术! ...
- Beta冲刺——星期五
这个作业属于哪个课程 <课程的链接> 这个作业要求在哪里 <作业要求的链接> 团队名称 飞猪们 这个作业的目标 剩余任务预估,分配任务(开发,测试等).按要求提交当天冲刺报告. ...
- java继承-子类调用父类的方法中包含子类重写的方法
# 看题目是不是很绕,这个我也不知道怎么才能更简单的表达了... # 先看代码: public class Common { public static void main(String[] args ...
- 22_5mybatis多表操作
1.表之间的关系 一对多 多对一 一对一 多对多 举例: 用户和订单就是一对多 订单和用户就是多对一 一个用户可以下多个订单 多个订单属于同一个用户 人和身份证号就是一对一 一个人只能有一个身份证号 ...
- shell命令学习记录
id id会显示用户以及所属群组的实际与有效ID hostname 用来显示或者设置主机名(show or set the system’s host name).环境变量HOSTNAME也保存了当前 ...
- PAT乙级1024
题目链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805297229447168 题解 第一遍也是没有全部AC,有3 ...
- 本地文件上传到gitlab
1.本地创建目录gbdt_model 2.进入文件目录,在文件中点击鼠标右键选择bash控制台进入 3.运行git init 命令,文件中会多出一个.git 命令 4. git commit -m & ...
- MySQL Audit日志审计
一.简介 数据库审计能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库受到的风险行为进行告警,对攻击行为进行阻断,它通过对用户访问数据库行为的记录.分析和汇报,用来帮助用 ...
- vue基本语法 JS补充
目录 一.VUE框架入门 1. vue框架的优势 二.VUE框架的基本使用 1. vue的引用 2. vue的基本语法结构 2. 插值表达式 3. 文本指令 (1)v-text (2)v-html ( ...