欢迎来到天天文库
浏览记录
ID:40559737
大小:28.50 KB
页数:3页
时间:2019-08-04
《loadrunner调用jar包》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、使用LoadRunner8.1的javaVuser协议调用jar文件发布:2009-5-1320:22
2、作者:Zee
3、来源:7点测试网很多时候,我们需要直接对Jboss下的java应用服务系统进行性能测试。这种服务有些是基于JbossRemoting实现,以socket的方式提供接口函数,并没有一个可以看的见的界面可供测试。在这种情况下,有的测试组会选择,开发一个简单的web页面,调用这个服务,然后用loadRunner制作web脚本进行测试。这种设计方案的缺陷在于,性能测试的压力会被堵在web层这里,无法测出服务端的准确性能,甚至可能web服
4、务器的资源已经耗尽,服务端还完全没达到最大吞吐量。要解决这个问题,只有使用LoadRunner直接调用服务端的接口,减少中间环节的干扰。首先,请大家安装LoadRunner8.1以上版本,因为8.1支持jdk1.5版本,现在很多应用都是在jdk1.5的框架下开发的。注意,8.1并不支持jdk1.6,所以请安装1.5版本。打开VuserGenerator,新建一个javaVuser协议的脚本。新脚本会自动创建一个class和3个函数:init、action、end。这时,大家先Compile一下,如果没有错误,再继续。如果报错,看看你的jdk版本
5、。先把脚本保存在本地的文件夹中。然后,把调用服务所需要的一些jar文件,也拷贝到脚本目录里面。注意,一般调用远程Jboss服务时,都是需要一些描述接口函数类型的jar文件。另外,建议先使用eclipse,开发一个测试的框架类,通过这个框架,可以轻松的调用指定服务器的指定接口服务的指定方法,从而降低LoadRunner脚本编写的难度。jar文件准备好以后,点击toolbar上的“javafunction”按钮,然后点击“location”,把你需要的jar文件添加进来。这时,就能看到jar文件中的所有对象列表,以及对象的属性和方法。回到脚本编辑窗
6、口,我们可以直接遵照C++的语法,编写脚本代码,在代码中,可以对刚才引入的java对象进行面向对象的编程,比如下面的代码:com.Testing.ServiceCallercaller;caller=newcom.Testing.ServiceCaller();caller.init("192.168.0.1:4446","ServiceName");caller.call("methodName","paras");在这里写脚本,几乎和写java代码一模一样。我们可以完全引用jar文件的各种对象,同样,也可以使用javaee框架中的各种对象,
7、LoadRunner对java的支持真是非常的好。同时,LoadRunner也提供了一些好用的函数,方便大家准备测试参数、输出测试结果,比如:intorgId=lr.eval_int("2");lr.error_message("出错喽");这些以lr开头的方法,参考文档在帮助中写的很清楚。比如lr.eval_int就是把字符型变量转换成int型,lr.error_message是输出错误的提示,我们可以在代码中加入数据正确性的检查逻辑,这样在执行性能测试的时候,如果出错,就能很清楚的看到。在以上文章里,我们讲了如何在javaVuser协议中,
8、引用jar文件中的类。Loadrunner对java支持非常好,但是,在实际操作中,出现了一个新问题:如果要引用jar文件,需要把jar文件拷贝到当前脚本的目录下。如果我们为性能测试开发了一个测试框架,就需要把框架类的jar文件拷贝到每个脚本的目录下,这样做显然不合理,因为同一文件保存多份拷贝,很难管理,极易引起版本混乱。我们需要把测试框架的jar文件,放在一个统一的地方,让每个测试脚本都能自动找到,这样才能解决问题。开始,我准备利用javaVM运行环境的ClassPath来解决。首选,在环境变量的ClassPath中增加一个目录,比如“d:
9、lib”。然后把测试框架的jar文件拷贝到这个目录,运行脚本,失败!提示找不到指定的类。之后,我修改了环境变量ClassPath的值,把jar文件的完整路径添加进去,例如“d:libtestBase.jar”,再次运行脚本,成功!似乎java的classPath并不支持目录,而必须要指定到具体的jar文件。这个问题困扰了我很久,如果有java的高手请指点一下。虽然设定环境变量,可以解决这个问题,不过以后如果需要增加一个jar文件,就要修改一次环境变量,还是很不方便。于是,我尝试把jar文件用winrar解压,直接把解压后的目录保存在d:l
10、ib目录下面,然后在环境变量里面只设定d:lib,运行脚本发现也能通过!!原来系统虽然不能找到jar文件,却能找到目录中的*.class文件。虽然j
此文档下载收益归作者所有