虽然LR对C有较好的支持,但有时使用Java Vuser会更方便,以下描述通过LR来编写Java脚本以及调用jar包的基本步骤。

1、安装配置java环境

  LR的java vuser脚本的执行依赖于脚本所在机器的java环境,LR并没有独立java运行环境,因此首先要在Vugen所在机器上安装java环境。特别注意:LR的不同版本对于JDK版本的支持是不同的,详见:http://blog.csdn.net/achang21/article/details/45540483。

环境说明:

LoadRunner11:安装路径:C:\Program Files\HP\LoadRunner

平台:windows 7sp1 32位

java版本:JDK1.6(LR11最高支持jdk1.6 32位)

步骤:

1)安装jdk1.6,安装目录:C:\Program Files\Java\jdk1.6.0_43

2)配置环境变量CLASSPATH和PAHT

在CLASSPATH中配置当前路径.和JDK的类库路径以及LR自己的类库路径,如:

CLASSPATH=.;C:\Program Files\Java\jdk1.6.0_43\lib;C:\Program Files\Java\jdk1.6.0_43\jre\lib;C:\Program Files\HP\LoadRunner\lib;C:\Program Files\HP\LoadRunner\classes

CLASSPATH加入: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;C:\Program Files\HP\LoadRunner\classes

在PATH中增加配置当前路径.和JDK执行目录路径,如:

PATH=.;C:\Program Files\Java\jdk1.6.0_43\bin;C:\Program Files\Java\jdk1.6.0_43\jre\bin;C:\Program Files\SlickEditV18.0.1\win\;C:\ProgramFiles\TortoiseSVN\bin

PATH中加入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;D:\Program Files\HP\LoadRunner\bin;

3)重启下电脑,cmd中执行java -version检查环境是否正常

2、新建java vuser脚本

启动LR的Vugen中,新建一个Java Vuser协议类型的脚本:

基本示例:

如下可以看到,java vuser自动使用了vugen所在机器的java环境:

3、调用java类

当在LR中编写java脚本需要使用jdk标准库以外的类库时,直接将被调用的java字节码文件置于脚本目录下即可,步骤如下:

1)在eclipse(Version: Luna Service Release 1 (4.4.1))中新建java Project项目,定义项目名称、路径以及选定使用的jre版本:

2)在新建的项目中src目录下新建类Class,定义类名(一般以大写字母开头):

3)编写java代码,其中通过package指定java文件所在的包,如下所示:

4)将java项目输出目录(一般为项目的bin目录)下的字节码文件(.class)拷贝到LR的java vuser脚本目录下:

eclipse java项目下生成的字节码:

  

置于LR的java vuser脚本下:

5)LR的java vuser脚本中进行调用,注意需要import进被调用的类:

import lrapi.lr;
import com.lr.test.*;public class Actions
{public int init() throws Throwable {return 0;}//end of initpublic int action() throws Throwable {helloword.main((String[]) null);//lr.message("Notify:vuser:" + lr.get_vuser_id() + " testing!!!");return 0;}//end of actionpublic int end() throws Throwable {return 0;}//end of end
}

4、调用jar包

以上调用java类的方法中也可以直接将java的类打包成jar包供LR的java vuser使用。

1)生成jar包文件

eclipse中导出jar包方法:

a、在eclipse中选择你要导出的类或者package,右击,选择Export子选项;

b、在弹出的对话框中,选择java文件---选择JAR file,单击next;

c、在JAR file后面的文本框中选择你要生成的jar包的位置以及名字,注意在Export generated class files and resources和Export java source files and resources前面打上勾,单击next;

d、单击两次next按钮,到达JAR Manifest Specification。注意在最底下的Main class后面的文本框中选择你的jar包的入口类。单击Finish,完成。 你可以在dos环境下,进入你的jar所在的目录,运行 java -jar 名字.jar,检测运行是否正确。

通过maven打jar包:

  mvn package -Dmaven.test.skip=ture

2)将jar包导入到LoadRunner脚本中

  在Vuser Generator的Run-time Setting > Java Enviroment settings > Classpath 中选择 Add Jar or zip file,把jar包文件和必要的库文件引入

5、实例(发送http post请求)

由于示例脚本中需要调用外部类的加密方法,因此首先将外部的类jar包包含到LR中来,如下图所示,所有依赖的jar包需要都包含进来。

脚本实例:

注意:当需要使用web系列方法(web.reg_save_param等)时  需要import lrapi.web;

/** LoadRunner Java script. (Build: _build_number_)* * Script Description: *                     */import lrapi.lr;
import lrapi.web;
import com.lr.test.*;public class Actions
{public int init() throws Throwable {return 0;}//end of initpublic int action() throws Throwable {String str_result = "1";String html_body = "gw_address=<route_lanip>&gw_port=2060&gw_id=<gw_id>&route_mac=<route_mac>&route_version=<route_version>&SSID1=<ssid>&mac=<client_mac>&imei=&imsi=&openid=";
String html_body_encode = EncruptCode.encruptCode(html_body);String htmlbody = "Body=p=" + html_body_encode;lr.message("html_body_encode:" + html_body_encode);try {lr.start_transaction("qq_app");//关联api_code值web.reg_save_param ("param_api_code", new String []{ "NOTFOUND=ERROR","LB=api_code\":","RB=,","LAST"});//http post请求web.custom_request("web_post_request","Method=POST",new String[]{ "URL=http://www.xxx.com/api/qqConnect",htmlbody,"TargetFrame=", "LAST"});//lr.output_message("param_api_code:" + lr.eval_string("{param_api_code}"));if (str_result.equals(lr.eval_string("<param_api_code>"))) {lr.end_transaction("qq_app", lr.PASS);}else {lr.end_transaction("qq_app", lr.FAIL);}     } catch (Exception e) {}return 0;}//end of actionpublic int end() throws Throwable {return 0;}//end of end
}

转载于:https://www.cnblogs.com/yezhaohui/p/4180437.html

LR之Java Vuser相关推荐

  1. 小米登录协议分析_性能测试篇之Loadrunner与ida工具结合完成java vuser协议的脚本...

    你这么优秀,一定只想把"柠檬班"置顶 ▲ → 性能3期优秀作业 利用lr的java vuser协议完成 (登录,md5加密完成重置支付密码,获取订单列表)请求,并加if判断完善脚本 ...

  2. loadrunner java脚本_用loadrunner11写java脚本小例子(java Vuser)

    1.创建工程testHelloWorld 2.写个经典的HelloWorld类,代码如下: package jd.lt; public class HelloWorld { public String ...

  3. loadrunner java_如何使用LoadRunner开发JAVA Vuser

    如何使用LoadRunner开发JAVA Vuser 如何使用LoadRunner 开发 JAVA Vuser 众所周知,Java语言是一门非常适合 网络 开发的语言,用 Java语言进行性能 测试 ...

  4. 电梯服务器显示lrabort,LR java vuser 空指针异常

    我用java写了一个远程调用的程序,通过url携带参数的方式访问远程服务器,以获取服务器的响应,在eclipse下编译通过也能正常访问远程服务器了.我把编译好的包含绝对路径的Class文件放到虚拟用户 ...

  5. java vuser脚本_loadrunner12中JavaVuser脚本的编写

    1.环境准备: 友情提示:用本地环境,不要用虚拟机 LoadRunner11----->对应JDK1.6版本(32位) LoadRunner12----->对应JDK1.7版本(32位) ...

  6. lr java vuser_LR Java脚本编写方法

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

  7. lr java脚本_【上海校区】 LR Java脚本编写方法

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

  8. loadrunner 调用java_LoadRunner调用Java程序—性能测试

    为了充分利用LoadRunner的场景控制和分析器,帮助我们更好地控制脚本加载过程,从而展现更直观有效的场景分析图表.本次将重点讨论LoadRunner如何调用Java测试代码,完成压力测试. 通常我 ...

  9. Java使用jmeter源码进行接口测试_jmeter用java代码怎样编写接口测试源码

    我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java ...

  10. apachejmeter_java源码_自定义编写jmeter的Java测试代码

    我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","JavaV ...

最新文章

  1. MySql事务select for update及数据的一致性处理讲解
  2. tableau实战系列(十八)-通过可视化实现购物篮关联分析( Market Basket Analysis),关联物品之间的关联关系
  3. AOP 在Spring 中的应用
  4. ligerui layout拖动中间分隔条宽度后,重新调整两边控件的宽度
  5. void main()是错误的
  6. Delphi各个版本和发展历史
  7. 搞个这样的APP要多久? (转)
  8. 概览Visual Studio 15.3的第二个预览版
  9. endnote参考文献排版_基于国家标准的 EndNote 输出样式模板
  10. ps格式文件如何打开
  11. oracle的临时表
  12. mysql front下载,MySQL-Front下载
  13. 《传习录》 学习笔记
  14. 【软考系统架构设计师】2014年下系统架构师案例分析历年真题
  15. 大学英语四六级成绩查询
  16. 服务器端查看图片库 eog display Xforwarding
  17. 盘点:54款真正耐玩的独立游戏
  18. windows server域的信任关系(一)
  19. PI数据库开发-java(读写pi中的时序数据和关系数据)
  20. Android音频开发之OpenSL ES

热门文章

  1. 怎么用editplus写asm文件_本周分享 | 用Typora写markdown文件
  2. android 通过浏览器下的apk无法安装_安卓手机必备,文件管理利器!ES文件浏览器特别版安卓软件...
  3. 用友t3服务器更改是哪个文件夹里,用友t3服务器地址变更
  4. 分布有限传输速度高的计算机网络,第5章 计算机网络基础.ppt
  5. web 前端签名插件_10款前端开发神器,助你成前端高手?
  6. 凨-百度地图API之地图标注(JS版),地理位置信息,根据地址获取经度纬度
  7. LayaAir destroy 销毁与 removeChild 移除节点
  8. synchronized 线程同步,添加对象锁与类锁
  9. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_11-freemarker静态化测试-基于模板字符串静态化...
  10. 阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_2 响应之返回值是String类型...