jmeter之Bean Shell Sampler使用四则运算

摘要:
jmeter使用四种操作。1.您可以编写java代码,然后在jmeter中引用它。2.直接在BeanShellSampler中编写四个操作。例如,在传递给下一个接口请求参数之前,需要对从数据库或上一个请求响应中提取的参数进行相加、相减、相乘和除法。请求中的参数无法在主体中处理,因此只能在BeanShellSampler或后处理器中处理。

jmeter使用四则运算,1.可以写好java代码然后在jmeter中引用,2.直接在Bean Shell Sampler 写四则

比如:数据库或者上一个请求响应中提取的参数,需要加减乘除处理后传递给下一个接口请求参数,请求中的参数在body不能做处理,所以只能在Bean Shell Sampler或者后置处理器中处理。

事列:1.要求先获取电量和消费总金额,2.通过处理传递给下一个请求补贴金额和结算金额(公式:补贴金额=消费总金额*15%,结算金额=消费总金额-补贴金额

图1:通过数据库查询,获取了电量和消费金额

jmeter之Bean Shell Sampler使用四则运算第1张

图2:补贴金额和结算金额计算,vars.put变量仅对当前线程组内可见, 跨线程组则需要使用属性

jmeter之Bean Shell Sampler使用四则运算第2张

图3:结果日志打印

 jmeter之Bean Shell Sampler使用四则运算第3张

 图4:请求body传递,传递的数值就是图3日志中显示的结果

jmeter之Bean Shell Sampler使用四则运算第4张

 1 import java.text.DecimalFormat;
 2 import java.math.BigDecimal;
 3 
 4 String TotalPower = vars.get("order-TotalPower_1");
 5 log.info("充电电量------"+TotalPower);
 6 String TotalMoney = vars.get("order-TotalMoney_1");
 7 log.info("总消费-----"+TotalMoney);
 8 String SubsidyMoney1 = String.valueOf(Double.parseDouble(TotalMoney)*Double.parseDouble("0.15"));
 9 BigDecimal b = new BigDecimal(SubsidyMoney1);
10 SubsidyMoney = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
11 SubsidyMoney2 = String.valueOf(SubsidyMoney);
12 log.info("补贴金额-----"+SubsidyMoney2);
13 SettlementMoney = String.valueOf(Double.parseDouble(TotalMoney)-Double.parseDouble(SubsidyMoney2));  
14 log.info("结算金额-----"+SettlementMoney);
15 
16 vars.put("TotalPower",TotalPower);
17 vars.put("TotalMoney",TotalMoney);
18 vars.put("SubsidyMoney",SubsidyMoney2.toString());
19 vars.put("SettlementMoney1",SettlementMoney.toString());

免责声明:文章转载自《jmeter之Bean Shell Sampler使用四则运算》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PCRE正则库的使用C# 批量重命名文件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

layer弹出层框架alert与msg详解

layer至今仍作为layui的代表作,她的受众广泛并非偶然,而是这五年多的坚持,不断完善和维护、不断建设和提升社区服务,使得猿们纷纷自发传播,乃至于成为今天的Layui最强劲的源动力。目前,layer已成为国内最多人使用的web弹层组件,GitHub自然Stars3000+,官网累计下载量达30w+,大概有20万Web平台正在使用layer。    ...

MyBatis配置文件(四)--typeHandlers

typeHandlers又叫类型处理器,就像在JDBC中,我们在PreparedStatement中设置预编译sql所需的参数或执行sql后根据结果集ResultSet对象获取得到的数据时,需要将数据库中的类型和java中字段的类型进行转换一样,在MyBatis中使用typeHandler来实现。所以说白了,typeHandlers就是用来完成javaTy...

在asp.net webform中的 gridview 里面的一些基本操作

<body> <form runat="server"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td> <asp:Panel runat="server" CssClass="buttonContainer" Wr...

小学生四则运算练习软件

结对伙伴博客地址:http://www.cnblogs.com/zhangcunhui/ Github仓库主页链接地址:https://github.com/huicunzhang/Sizeyunsuan2 需求分析 1. 由计算机从题库文件中随机选择20道加减乘除混合算式,用户输入算式答案,程序检查答案是否正确,每道题正确计5分,错误不计分,20道题测试...

Spring Boot -- Spring Boot之热部署、性能优化、打包

一、热部署 所谓的热部署:比如项目的热部署,就是在应用程序在不停止的情况下,实现新的部署。 1、热部署原理 原理: 使用类加载器(classloader重新读取字节码文件到jvm内存) 如何纯手写一个热部署功能: 监听 class文件是否发生改变  版本号、修改时间  作对比; 如果发生改变就用classloader进行重新读取; 热部署可以用于在生产...

jmeter数据驱动csv+批量导出数据到csv文件

基本的软件使用,我们简单一点,附图来讲,详细地方不懂的可以自行百度。 使用Jmeter 批量导入数据,之后批量导出数据到csv文件,可以帮助我们更好的整理数据,在工作中比较常用。 大致过程可以分三步:1. 导入csv文件;2. 变量引用; 3. 批量导出csv文件 1. 导入csv文件: point1:建议使用notpad, sublime等编辑器来编辑保...