题目,如上图;

采用beanshell postprocessor结合fastjson库的方法;

先配置环境,我用的是jmeter 5.11,fastjson用到的1.2.68的版本;需要将fastjson.jar包放到jmeter的安装路径的lib\ext库中,并且在jmeter的Test Plan中引用这个jar包;

BeanShell Sampler构造json响应结果;代码如下;

return "{\"Status Code\":200,\"ret\":{\"id\":\"id\",\"imageList\":[{\"originUrl\":\"图片链接1\",\"originWidth\":200,\"originHeight\":300},{\"originUrl\":\"图片链接2\",\"originWidth\":300,\"originHeight\":300}]}}"

BeanShell PostProcess代码如下;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONArray;

import com.alibaba.fastjson.JSONObject;

String rs = prev.getResponseDataAsString();//获取响应结果

JSONObject aa = JSON.parseObject(rs);//整个响应结果作为JSON对象;

JSONObject ret=aa.getJSONObject("ret");//获取某一部分对象。即,json串中{}的内容;

JSONArray imageList=ret.getJSONArray("imageList");//获取列表。即json串中的[]的内容;

log.info("结果:"+imageList); //不能写成log.info(imageList);这样会报错;需要加字符串;

boolean result;

for(int i=0;i

String x=imageList.getJSONObject(i).getString("originHeight");

String y=imageList.getJSONObject(i).getString("originWidth");

log.info(x+" "+y);//查看结果;

if(!(x.equals("300")) || !(y.equals("200"))){//注意整数需要使用"括起来,作为字符串;

log.info("第"+(i+1)+"项服务器返回结果不正确");

result=true;

}

}

if(!result){

log.info("服务器返回结果正确");

}

fastjson是一个Java语言编写的高性能功能完善的JSON库。

常用api;

1.String JSON.toJSONString(Object object) //将对象序列化成json字符串;//我认为String代表类型;可以使用String类型的变量去接收这个值;

2.JSONObject JSON.parseObject(String text) //将json字符串反序列化成JSON对象;

3.JSONArray JSONObject.getJSONArray(String key) //根据key得到json中的json数组;

4.JSONObject JSONArray.getJSONObject(int index) //根据下标拿到json数组的json对象;

5.String JSONObject.getString(String key) //根据key拿到json的字符串值;

6.int JSONObject.getIntValue(String key) //根据key拿到json的int值;

7.boolean JSONObject.getBooleanValue(String key) //根据key拿到json的boolean值;

标签:fastjson,String,JSONObject,JSON,json,beanshell,key,jmeter

来源: https://www.cnblogs.com/canglongdao/p/12843486.html

jmeter判断值是否相等_jmeter beanshell判断响应的json值是否正确;相关推荐

  1. jmeter判断值是否相等_jmeter中的响应断言

    断言就类似LoadRunner中的检查点.对上一个请求返回的信息,做字符串.数据包大小.HTML.XML.图片等做判断,确保返回的信息的准确性. jmeter的断言有好多,下面是一个响应断言 新建一个 ...

  2. pandas基于条件判断更新dataframe中所有数据列数值内容的值(Conditionally updating all values in pandas Dataframe )

    pandas基于条件判断更新dataframe中所有数据列数值内容的值(Conditionally updating all values in pandas Dataframe ) 目录

  3. pandas基于条件判断更新dataframe中特定数据列数值内容的值(Conditionally updating values in specific pandas Dataframe )

    pandas基于条件判断更新dataframe中特定数据列数值内容的值(Conditionally updating values in specific pandas Dataframe ) 目录

  4. Java黑皮书课后题第3章:*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果

    *3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果 题目 题目描述 运行示例 破题 代码 题目 题目描述 ...

  5. json 取值判断_【收藏级】.NETCore3.1中的Json互操作解读

    本文将会全面介绍System.Text.Json 和 Newtonsoft.Json 的相同和异同之处,方便需要的同学做迁移使用,对未来,我们保持期待. 文档比较 几个重要的对象 在 System.T ...

  6. java中数字作为布尔值_day50 java Script 数字和字符串 布尔值和数组 运算符 条件判断和三元运算...

    上节回顾: day501.前情回顾 CSS属性: float浮动的规则1. 浮动规则: 浮动只控制自己 如果前面的标签也是浮动的,就挨着放 如果前面的标签不浮动,则下方摆放 如果把块级标签设置成浮动, ...

  7. php判断数组的值是否为空,PHP判断数组(多维数组)值是否为空

    判断数组值是否为空的方法很简单我们只要empty或=\"\"即可了,如果是二维数组或多维数组我们可以直接使用遍历来操作,下面我给大家介绍判断数组值为空的各种方法总结. //此处,$ ...

  8. 人工智能数学基础:利用导数判断函数单调性、凹凸性、极值、最值和描绘函数图形

    一.单调性判断定理 定理: 设函数y=f(x)在[a,b]上连续,在(a,b)内可导. (1)如果在(a,b)内f(x)≥0,且等号仅在有限多个点处成立,那么函数y=f(x)在[a,b]上单调增加; ...

  9. 写一个函数,用户输入一个数判断是否是素数,并返弹出回值(又叫质数,只能被1和自身整数的数)

    // 写一个函数,用户输入一个数判断是否是素数,并返弹出回值(又叫质数,只能被1和自身整数的数)function isPrime(num) {for (var i = 2; i < num; i ...

最新文章

  1. Mac下使用ABTestingGateway快速搭建灰度网关
  2. PHP验证码无法显示的原因
  3. HelloWorldProxy is a factory bean
  4. HugeGraph 配置参数
  5. 互联网组织的未来:剖析GitHub员工的任性之源
  6. 盒子模型代码_果冻公开课第五课:五分钟理清盒模型的前世今生
  7. 仍然提供32位Linux发行版,Ubuntu 20.04彻底淘汰32位映像,只提供64位映像下载
  8. 一个C#控制台小游戏(源码解析)
  9. 【2018 SWERC - C 】Crosswords【字典树、暴力搜索】
  10. kibana是什么_三千字带你搞懂什么是ELK
  11. 91卫图助手免费版发布啦
  12. java modbus tcp plc_PLC1200MODBUS TCP 程序实例
  13. java播放MP3/APE音乐文件
  14. Swift游戏实战-跑酷熊猫 10 视差滚动背景
  15. 胸怀——勇气——智慧
  16. css淡入淡出_CSS淡入淡出
  17. struts2-spring-hibernate实现员工的增删查功能
  18. SEO 搜索引擎优化(Google 排名)
  19. 淘宝手机所在地查询接口
  20. ubuntu 安装MySQL8

热门文章

  1. 2020年Java实训项目【GUI学生信息管理系统】目录
  2. 【codevs3732】【BZOJ3751】解方程,hash+秦九韶算法
  3. 【codevs1282】约瑟夫问题,卡数据ing?
  4. 微型计算机中外储存器比内储存器,计算机笔试复习题集共23页.doc
  5. 经典最短路算法的原理启示
  6. 【Level 08】U06 Good Feeling L1 End-of-season game
  7. 2020_12-电路理论框架复习思考-基础篇
  8. discuz设置用户每天回帖数_如何用Redis统计独立用户访问量,除了Hash跟Bitset,还有这个...
  9. linux导出表数据dmp,导出表的部分数据到dmp文件中
  10. 计算机图形学考研学校深圳大学,厉害了!深大计算机图形学在亚洲排第三!