LR之Java Vuser
虽然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相关推荐
- 小米登录协议分析_性能测试篇之Loadrunner与ida工具结合完成java vuser协议的脚本...
你这么优秀,一定只想把"柠檬班"置顶 ▲ → 性能3期优秀作业 利用lr的java vuser协议完成 (登录,md5加密完成重置支付密码,获取订单列表)请求,并加if判断完善脚本 ...
- loadrunner java脚本_用loadrunner11写java脚本小例子(java Vuser)
1.创建工程testHelloWorld 2.写个经典的HelloWorld类,代码如下: package jd.lt; public class HelloWorld { public String ...
- loadrunner java_如何使用LoadRunner开发JAVA Vuser
如何使用LoadRunner开发JAVA Vuser 如何使用LoadRunner 开发 JAVA Vuser 众所周知,Java语言是一门非常适合 网络 开发的语言,用 Java语言进行性能 测试 ...
- 电梯服务器显示lrabort,LR java vuser 空指针异常
我用java写了一个远程调用的程序,通过url携带参数的方式访问远程服务器,以获取服务器的响应,在eclipse下编译通过也能正常访问远程服务器了.我把编译好的包含绝对路径的Class文件放到虚拟用户 ...
- java vuser脚本_loadrunner12中JavaVuser脚本的编写
1.环境准备: 友情提示:用本地环境,不要用虚拟机 LoadRunner11----->对应JDK1.6版本(32位) LoadRunner12----->对应JDK1.7版本(32位) ...
- lr java vuser_LR Java脚本编写方法
之前在某一家银行也接触过java写的性能接口脚本,最近因项目,也需编写java接口性能测试脚本,脑袋一下懵逼了,有点不知道从何入手.随后上网查了相关资料,自己又稍微总结了一下,与大家共同分享哈~ 首先 ...
- lr java脚本_【上海校区】 LR Java脚本编写方法
之前在某一家银行也接触过java写的性能接口脚本,最近因项目,也需编写java接口性能测试脚本,脑袋一下懵逼了,有点不知道从何入手.随后上网查了相关资料,自己又稍微总结了一下,与大家共同分享哈~ 首先 ...
- loadrunner 调用java_LoadRunner调用Java程序—性能测试
为了充分利用LoadRunner的场景控制和分析器,帮助我们更好地控制脚本加载过程,从而展现更直观有效的场景分析图表.本次将重点讨论LoadRunner如何调用Java测试代码,完成压力测试. 通常我 ...
- Java使用jmeter源码进行接口测试_jmeter用java代码怎样编写接口测试源码
我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java ...
- apachejmeter_java源码_自定义编写jmeter的Java测试代码
我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","JavaV ...
最新文章
- MySql事务select for update及数据的一致性处理讲解
- tableau实战系列(十八)-通过可视化实现购物篮关联分析( Market Basket Analysis),关联物品之间的关联关系
- AOP 在Spring 中的应用
- ligerui layout拖动中间分隔条宽度后,重新调整两边控件的宽度
- void main()是错误的
- Delphi各个版本和发展历史
- 搞个这样的APP要多久? (转)
- 概览Visual Studio 15.3的第二个预览版
- endnote参考文献排版_基于国家标准的 EndNote 输出样式模板
- ps格式文件如何打开
- oracle的临时表
- mysql front下载,MySQL-Front下载
- 《传习录》 学习笔记
- 【软考系统架构设计师】2014年下系统架构师案例分析历年真题
- 大学英语四六级成绩查询
- 服务器端查看图片库 eog display Xforwarding
- 盘点:54款真正耐玩的独立游戏
- windows server域的信任关系(一)
- PI数据库开发-java(读写pi中的时序数据和关系数据)
- Android音频开发之OpenSL ES
热门文章
- 怎么用editplus写asm文件_本周分享 | 用Typora写markdown文件
- android 通过浏览器下的apk无法安装_安卓手机必备,文件管理利器!ES文件浏览器特别版安卓软件...
- 用友t3服务器更改是哪个文件夹里,用友t3服务器地址变更
- 分布有限传输速度高的计算机网络,第5章 计算机网络基础.ppt
- web 前端签名插件_10款前端开发神器,助你成前端高手?
- 凨-百度地图API之地图标注(JS版),地理位置信息,根据地址获取经度纬度
- LayaAir destroy 销毁与 removeChild 移除节点
- synchronized 线程同步,添加对象锁与类锁
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_11-freemarker静态化测试-基于模板字符串静态化...
- 阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_2 响应之返回值是String类型...