BeanShell Processor_使用Java处理脚本

版权声明:本文为博主原创文章,未经博主允许不得转载。



【try-catch】

建议使用Try----Catch块,这样Java语句出现问题时,日志更清晰;

try {
          //java代码
}
catch (Throwable ex) {
    log.error("something wrong in BeanShell PostProcessor", ex);
    throw ex;
}

【获取当前年月日时分秒毫秒】

如下示例:获取当前年月日时分秒毫秒并构造成形如“2017-08-16T15:35:28.456Z”的形式;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;

Calendar cal = Calendar.getInstance(); 

int YY = cal.get(Calendar.YEAR);
int MM = cal.get(Calendar.MONTH) + 1;
int DD = cal.get(Calendar.DATE);
int HH = cal.get(Calendar.HOUR_OF_DAY);
int MM = cal.get(Calendar.MINUTE);
int SS = cal.get(Calendar.SECOND);
int MI = cal.get(Calendar.MILLISECOND); 

vars.put("NowDate",DD+"T"+HH+":"+MM+":"+SS+"."+MI);  //构造成请求中所需的时间格式

【对参数值进行数学运算】

如下示例:是一个对话脚本的片段,IF条件控制器使用“${__javaScript("${MessageNum}">0)}”作为条件,每发送一条消息,MessageNum -1,共发送10次后结束,下面使用BeanShell  后置处理器,在发送消息的请求后使用BeanShell 后置处理器MessageNum进行处理;

使用到的Java语句:

int tmpMessageNum = Integer.parseInt(StringValue);   //string到int

String MessageNum = Integer.toString(tmpMessageNum);   //int到string

try {
 String tmp = vars.get("MessageNum");        //获取当前MessageNum值

 int tmpMessageNum = Integer.parseInt(tmp); //string到int //如右语句在Jmeter中使用报错,未解---Integer.valueOf(tmp).intValue(); 

 tmpMessageNum = tmpMessageNum - 1;          //处理完一条则剩余处理的条数少一条

 String MessageNum = Integer.toString(tmpMessageNum); //int到string
 //log.info(MessageNum);

 vars.put("MessageNum",MessageNum);
}
catch (Throwable ex) {
    log.error("something wrong", ex);
    throw ex;
}
时间: 2024-11-06 16:12:29

BeanShell Processor_使用Java处理脚本的相关文章

java ScriptEngine 使用 (java运行脚本文件)

转自:http://www.tuicool.com/articles/imEbQbA Java SE 6最引人注目的新功能之一就是内嵌了脚本支持.在默认情况下,Java SE 6只支持JavaScript,但这并不以为着Java SE 6只能支持JavaScript.在Java SE 6中提供了一些接口来定义一个脚本规范,也就是JSR223.通过实现这些接口,Java SE 6可以支持任意的脚本语言(如PHP或Ruby). 运行第一个脚本程序 在使用Java SE 6运行脚本之前,必须要知道你的

老李分享:loadrunner的java user脚本开发

老李分享:loadrunner的java user脚本开发 poptest在性能测试loadrunner的课程里,以web协议为主,同时也讲解其他协议的脚本开发,对于一个性能测试工程师需要掌握一个以上的协议,在这里大家可以看看javauser的脚本开发环境如何搭建. 有对java比较熟悉的朋友,完全可以直接调用javauser来解析协议报文,处理逻辑请求. 脚本开发环境: loadrunner11.0 jdk1.6.32_x86_32 脚本开发 1.选择JavaVuser协议 2.配置java环

【原创】LoadRunner Java Vuser脚本的配置和调试指南

1 编写目的 本文介绍了Loadrunner多负载压力机的配置,并通过测试Java Vuser的数据库连接脚本对配置结果进行了验证,同时对配置过程中遇到的问题和解决的过程进行了记录,关于Java数据库编程的深入学习,大家可以参考其他Java相关教程. 文中的内容大部分来源于本人工作中解决问题的实际经验,另一部分来源于网络,所有内容本人都亲自验证,但难免有疏漏之处,如有疑问,请大家不吝赐教. 文中Loadrunner版本为9.5,操作系统类型为Windows XP和Windows 2003 Ser

Beanshell vs JSR223 vs Java JMeter脚本:性能关闭你一直在等待!

有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能.查看最流行的扩展机制,比较性能并分析哪一个是最好的. 这是乐队之战,JMeter风格. Beanshell V. JSR223 V. Java Request Sampler 在我们之前的帖子中,   JMeter Performance和Tuning Tips  ( 由fantastik Philipe Mouwad编写) 我们建议使用JSR 223 + Groovy进行脚本编写.这是最好的选择,因为Groovy脚本可以编译

2016.5.10(编写Java无脚本的JSP页面)

JSP表达式语言EL JSP页面中显示结果 jsp:useBean和jsp:getProperty两个元素冗长而笨拙 jsp:getProperty只支持对简单Bean属性的访问 使用JSP EL <jsp:getProperty>的property属性只能访问Bean的属性,而不能访问嵌套的属性 使用JSP EL(即表达式语言Expression Language) <%@ page contentType="text/html; charset=gb2312" %

python 生成java entity脚本

生成java实体的脚本 import MySQLdb import sys dbhost='192.168.2.200' dbport=3306 dbuser='root' dbpassword='zufangbao69fc' dbname='houseloan' dbtypes = {'int':'Integer', 'bigint':'Long', 'bit':'Boolean', 'datetime':'Date', 'decimal':'BigDecimal', 'varchar':'S

多个平台的Java Launcher脚本

通常对于服务来说,过长的命令往往让人感到厌烦,人们需要的只是简单的操作,并且能够支持复杂的功能,对于Java开发的服务来说更是如此.一个比较复杂的Jar服务使用Java启动,命令如下 java -Xms512m -Xmx512m -jar fuck.jar –config config.server -port 10086 实际上许多虚拟机的语言的Host命令格式也是类似的.我们分析可以知道对于基于虚拟机的语言,命令行基本上是 host+vm运行参数+执行文件路径+输入参数.当然如果参数较少,我

Java相关脚本

本人摘自:https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-busy-java-threadssh  show-busy-java-threads 用法 示例 贡献者  show-duplicate-java-classes 用法 JDK开发场景使用说明 对于一般的工程 对于Web工程 Android开发场景使用说明 示例 贡献者  find-in-jars 用法 示例 参考资料  sho

loadrunner之java user脚本开发

脚本开发环境: loadrunner11.0 jdk1.6.32_x86_32 脚本开发 1.选择JavaVuser协议 2.配置java环境(Vuser--RunTime Settings) 3.开发javavuser脚本 /*  * LoadRunner Java script. (Build: _build_number_)  *  * Script Description: JavaVuser访问页面  *  * creator:jeffsui  *  * Create Time:201