之前在某一家银行也接触过java写的性能接口脚本,最近因项目,也需编写java接口性能测试脚本,脑袋一下懵逼了,有点不知道从何入手。随后上网查了相关资料,自己又稍微总结了一下,与大家共同分享哈~

  首先,新建一Java Vuser脚本,要清楚自己的项目脚本所需的jar包,然后在LoadRunner的Run-time Setting设置--Java环境下的classpath,添加jdk本地的bin/lib及下面的dt.jar包和tools.jar包,项目所需的一些jar包。(注意:我使用的是LR12的版本,可以支持jdk1.8;若是LR11,支持jdk最高版本为1.6)

  其次,在脚本中,import导入自己所需的包。例如:

    import lrapi.lr;
    import java.text.SimpleDateFormat;
    import java.util.Date;

  具体脚本,举例上传图片一脚本仅供大家参考,有些可能不适用,但有些方法还是有共同之处的,其中包含获取当前时间、截取字段,判断和事务等内容。

 /*
* LoadRunner Java script. (Build: _build_number_)
*
* Script Description:
*
*/ import lrapi.lr;
import com.client.SunEcmClientApi;
import com.client.bean.ClientBatchBean;
import com.client.bean.ClientBatchFileBean;
import com.client.bean.ClientBatchIndexBean;
import com.client.bean.ClientFileBean;
import com.client.impl.SunEcmClientSocketApiImpl;
import java.text.SimpleDateFormat;
import java.util.Date; public class Actions
{ public int init() throws Throwable {
return 0;
}//end of init public int action() throws Throwable { SunEcmClientApi clientApi=new SunEcmClientSocketApiImpl("188.177.155.87", 8021);
String busiNo="TEST02-"+System.currentTimeMillis(); Date date = new Date();
SimpleDateFormat sim=new SimpleDateFormat("yyyyMMdd");//该日期格式例如20200116
String dateStr=sim.format(date);
//lr.message("#######当前时间:["+dateStr+"]#######"); ClientBatchBean batchBean=new ClientBatchBean();
String rsg="";
batchBean.setModelCode("TEST");
batchBean.setUser("uesr");
ClientBatchIndexBean batchIndexBean=new ClientBatchIndexBean();
       batchIndexBean.addCustomMap("BUSI_SERIAL_NO", busiNo);
         batchIndexBean.addCustomMap("BUSI_START_DATE", dateStr);
ClientBatchFileBean batchFileBean=new ClientBatchFileBean();
batchFileBean.setFilePartName("TEST"); lr.start_transaction("01_上传"); for(int i=1; i<3; i++){
ClientFileBean fileBean=new ClientFileBean();
fileBean.setFileName("E:/CSS/ceshi"+i+".jpg");
fileBean.setFileFormat("jpg");
fileBean.addOtherAtt("FILE_CN_NAME", "ceshi"+i+".jpg");
fileBean.addOtherAtt("BUSI_FILE_TYPE", "<Type>");//参数化调用
fileBean.addOtherAtt("BUSI_FILE_PAGENUM","1");
batchFileBean.addFile(fileBean);
} batchBean.setIndex_Object(batchIndexBean);
batchBean.addDocument_Object(batchFileBean);
try {
rsg=clientApi.upload(batchBean, "123");
lr.message("#######调用上传返回的信息[" + rsg + "]#######");
String code=rsg.split("<<::>>")[0];//字符串剪切,提取SUCCESS字符串
//lr.message("#######CODE:[" + code + "]#######");
if(code.equals("SUCCESS")){
lr.end_transaction("01_上传",lr.PASS);
}else{
lr.end_transaction("01_上传",lr.FAIL);
}
} catch (Exception e) {
e.printStackTrace();
lr.end_transaction("01_上传",lr.FAIL);
lr.message(" 抛错信息 : " + e.toString() );
} return 0;
}//end of action public int end() throws Throwable {
return 0;
}//end of end }

LR Java脚本编写方法的更多相关文章

  1. shell脚本编写方法

    shell脚本编写就如同一门语言,涉及到运行环境.基本语法.变量定义.函数.参数(系统参数).条件判定.执行流程控制 等等问题. 本文就以下几个方面进行描述: 运行环境: shell  shebang ...

  2. lr的脚本调试方法

    1)  设置调试断点(快捷键F9)当设置断点的脚本,脚本运行到断点处,自动停止运行,我们可以通过查看运行日志,来观察脚本执行的情况: LR中也能设置断点,具体菜单在:Insert - Toggle B ...

  3. gulp脚本编写方法

    建立一个gulpfile.js文件,内容直接抄gulp-htmlmin的readme: var gulp = require('gulp'); var htmlmin = require('gulp- ...

  4. loadrunner 接口性能脚本编写(Get请求和Post请求)

    前段时间接触了一下loadrunner的接口性能测试,然后尝试了一下手动编写脚本,毕竟录制这种东西,不是每次都能通的,而且录制下来的脚本,通常是有很多其他杂七杂八的请求夹杂在中间,没有达到真正的压测接 ...

  5. loadrunner之Java Vuser协议脚本编写

    步骤:1.根据自己使用的lr版面选择jdk 1)LR11   1.6   32位 2)LR12   1.7   32位 2.安装好jdk,并搭建java环境变量,安装好java代码编写工具 3.在sr ...

  6. Jmeter脚本录制方法(二)——手工编写脚本(jmeter与fiddler结合使用)

    jmeter脚本录制方法可以分三种,前几天写的一篇文章中,已介绍了前两种,今天来说下第三种,手工编写脚本,建议使用这一种方法,虽然写的过程有点繁琐,但调试脚本比前两者方式都要便捷. 首先来看下三种方式 ...

  7. Jmeter脚本录制方法(二)手工编写脚本(jmeter与fiddler结合使用)

    jmeter脚本录制方法可以分三种,前几天写的一篇文章中,已介绍了前两种,今天来说下第三种,手工编写脚本,建议使用这一种方法,虽然写的过程有点繁琐,但调试脚本比前两者方式都要便捷. 首先来看下三种方式 ...

  8. 编写无Java脚本的JSP页面

    在上一章中总结了Web开发中应用MVC架构模式,将Servlet 用做控制器,JSP作为视图,JavaBean作为模型,实现业务流程控制,页面逻辑和业务逻辑的分离.然而,使用前面的技术实现MVC,并不 ...

  9. shell脚本编写自动启动服务方法

    shell脚本编写自动启动服务方法 前言 ln :创建连接文件 默认创建的是硬连接,好比复制 ,但是两个文件会同步命令:ln ./java/android/aa.txt aaa s :创建的是软连接变 ...

随机推荐

  1. Date和Calendar

    处理日期,时间: 大部分的方法已过时,不推荐使用,但是你使用过时的方法也不会报错. Date() 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒). Date(long date) ...

  2. 四叶草(css)

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <style> . ...

  3. H3C 什么是路由

  4. Linux 内核即插即用规范

    一些新 ISA 设备板遵循特殊的设计规范并且需要一个特别的初始化顺序, 对增加接口板 的简单安装和配置的扩展. 这些板的设计规范称为即插即用, 由一个麻烦的规则集组成, 来建立和配置无跳线的 ISA ...

  5. vue-learning:19 - js - filters

    filters 基本使用 仅限在插值{{}}和v-bind指令中使用 管道符|分隔 链式调用 传入参数 全局注册和局部注册 纯函数性质(不能使用this) 基本使用 我们看下之前用计算属性实现的例子, ...

  6. 2018-8-10-win10-uwp-修改Pivot-Header-颜色

    title author date CreateTime categories win10 uwp 修改Pivot Header 颜色 lindexi 2018-08-10 19:17:19 +080 ...

  7. 2018-2-13-WPF-异常-NativeWPFDLLLoader.LoadNativeWPFDLL

    title author date CreateTime categories WPF 异常 NativeWPFDLLLoader.LoadNativeWPFDLL lindexi 2018-2-13 ...

  8. codeforces 1167B Lost Numbers

    传送门:https://codeforces.com/contest/1167/problem/B 题意: 交互题:现在你有6个数4, 8, 15, 16, 23, 42组成的某种组合,你可以询问系统 ...

  9. KEIL5.11安装小结

    一.注意点 1.安装路径不能带中文,必须是英文路径 2.安装目录不能跟 51 的 KEIL 或者 KEIL4 冲突,三者目录必须分开 3.KEIL5 不像 KEIL4 那样自带了很多厂商的 MCU 型 ...

  10. ASP.NET MVC API与JS进行POST请求时传递参数 -CHPowerljp原创

    在API前添加    [HttpPost] 表示只允许POST方式请求 [HttpPost] public IHttpActionResult Get_BIGDATA([FromBody]Datas  ...