BeanShell断言:根据响应的2个数据的比较结果来决定断言
需求:目前有一个请求,请求的响应中有2个值,aaa和bbb,我们比较aaa和bbb,如果aaa大于bbb,则断言通过,否则失败。
1.添加一个Dummy Sampler,模拟请求。

2.添加2个正则表达式处理器,分别提取aaa和bbb的值。


3.添加BeanShell断言。代码如下:
//方式1:直接取aaa,bbb的值,并将结果进行比较
int x=${aaa};
int y=${bbb}; if(x<=y){
Failure=true;
FailureMessage="aaa小于等于bbb";
}
//方式2:通过vars.get("变量名")取得字符串的值,然后通过Integer.parseInt()将其变为整型再进行比较
String x = vars.get("aaa");
String y = vars.get("bbb");
if(Integer.parseInt(x)<=Integer.parseInt(y)){
Failure=true;
FailureMessage="aaa小于等于bbb";
//log.info("断言失败:aaa小于等于bbb");
}
4.在查看结果树中查看结果如下

5.思考:如果aaa,bbb的值带有小数呢,上述两种方式还可以吗?
比如说把请求的响应修改为{"aaa":"1.9","bbb":"1.1"},则
通过方式1运行结果,还是断言失败,因为本来aaa大于bbb,取整后,aaa等于bbb了;
通过方式2运行结果,报错:Error invoking bsh method: eval Sourced file: inline evaluation of: ``String x = vars.get("aaa"); String y = vars.get("bbb"); if(Integer.parseInt(x . . . '' : Method Invocation Integer.parseInt 。
显然不可以。
因此,当需要比较的两个值可能是小数时,我们需要用方式3或方式4来写断言。
//方式3:
double x=${aaa};
double y=${bbb}; if(x<=y){
Failure=true;
FailureMessage="aaa小于等于bbb";
}
//方式4:
String x = vars.get("aaa");
String y = vars.get("bbb"); if(Double.parseDouble(x)<=Double.parseDouble(y)){
Failure=true;
FailureMessage="aaa小于等于bbb";
log.info("断言失败:aaa小于等于bbb");
}
说白了,就是将int换成double,Integer.parseInt()换成Double.parseDouble()了。
BeanShell断言:根据响应的2个数据的比较结果来决定断言的更多相关文章
- Jmeter—4 添加断言 判断响应数据是否符合预期
发出请求之后,通过添加断言可以判断响应数据是否是我们的预期结果. 1 在Jmeter中发送一个登录的http请求(参数故意输入错误).结果肯定是登陆失败啦. 但结果树中http请求的图标显示‘绿色’表 ...
- Jmeter入门4 添加断言 判断响应数据是否符合预期
发出请求之后,通过添加断言可以判断响应数据是否是我们的预期结果. 1 在Jmeter中发送一个登录的http请求(参数故意输入错误).结果肯定是登陆失败啦. 但结果树中http请求的图标显示‘绿色’表 ...
- Jmeter 02 Jmeter断言之响应断言
看完上一篇博客,相信大家应该可以使用Jmeter发送HTTP请求了.那么我们既然是要测试,就肯定需要判断结果了.Jmeter对于请求的响应数据提供了几种断言机制,这里大概说一下比较常用的几种断言. 响 ...
- Jmeter系列(3)- 常用断言之响应断言
断言的作用 确定请求是有效还是无效的 添加断言 面板模块介绍 Apply to 作用:指定断言作用范围 Main sample and sub-sample:作用于主main sample和子sub- ...
- Jmeter JSON断言和响应断言的区别是什么?
假设响应数据是{"code":0,"datas":{"informationStatus":1}} 响应断言:"code" ...
- Jmeter之断言(响应断言,断言持续时间)
断言是测试环节中,十分重要的一节. 响应结果是否正确,可以通过断言判断,无需人工确认. 1.为请求添加断言 常使用:响应断言>Bean Shell断言>断言持续时间 2.响应断言 ●常用来 ...
- jmeter之--断言json响应&json path espressions的语法
一.提取所需要断言的内容: 响应数据如下:加入需要提取id为90的值 { , "name" : "python", "url" : &quo ...
- 掌握BeanShell,轻松处理jmeter中的数据
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15424558.html 博客主页:https://www.cnblogs.com/testero ...
- 详细解读XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
本文主要参考:MDN 分析并操作 responseXML属性 如果你使用 XMLHttpRequest 来获得一个远程的 XML 文档的内容,responseXML 属性将会是一个由 XML 文档解析 ...
随机推荐
- mode|平均数|方差|标准差|变异系数|四分位数|几何平均数|异众比率|偏态|峰态
应用统计学 数据的概括性度量 集中趋势 Mode众数是唯一描述无序类别数据,由图可知众数便是图形中的峰. 对于类别变量,众数就是某一种类别. 中位数和平均数都可能不是样本中的值. 中位数不受极值影响, ...
- 基于Dockerfile制作tomcat镜像
Docker 概述: 在前面的例子中,我们从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一种文件或脚本,我们把想执行的操 ...
- 企业级rancher搭建Kubernetes(采用rancher管理平台搭建k8s)
一.简介 Rancher简介 来源官方:https://www.cnrancher.com/ Rancher是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开源软件去从 ...
- 第二类Stirling数推导
- box-sizing: border-box
如果在元素上设置了 box-sizing: border-box; 则 padding(内边距) 和 border(边框) 也包含在 width 和 height 中
- Ansible(一) Try it - 枯鱼的博客
学习ansible的最好方式就是使用,先别管什么inventory,playbook,module这些.按照安装文档安装,然后try it,一边学一边体验,这样的速度是最快的.当熟悉了之后,想要深入就 ...
- cssy元素居中的方法有哪些?
css的元素居中 各位小伙伴们在努力写网页的时候有没有遇到过这样的一个问题呢? 在写的时候发现他不居中,可是要分分钟逼死强迫症的啊! 别急,我来啦 哈哈哈 今天就带来三种css的元素居中的方法 第一种 ...
- vs2019 目标框架是灰色的原因
原因一是没有安装.net core 包: 如果是桌面程序,不是web程序:不安装.net core包的情况,修改工程文件 TargetFrameworks ----> TargetFrame ...
- Nuts.js01
1.简介 Vue ssr框架.支持vue2,vue-router,vuex,vue server render, vue meta 2.基本使用: vue init nuxt-community/ko ...
- node跨域方法
第一种:jsonp 参看用nodejs实现json和jsonp服务 第二种:res.wirteHeadnode部分 var http = require('http') var url = requi ...