使用LoadRunner8.1的java Vuser协议调用jar文件

发表于:2008-4-23 11:19

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:tb天彤    来源:tb天彤的博客

        很多时候,我们需要直接对Jboss下的java应用服务系统进行性能测试。这种服务有些是基于Jboss Remoting实现,以socket的方式提供接口函数,并没有一个可以看的见的界面可供测试。在这种情况下,有的测试组会选择,开发一个简单的web页面,调用这个服务,然后用loadRunner制作web脚本进行测试。

        这种设计方案的缺陷在于,性能测试的压力会被堵在web层这里,无法测出服务端的准确性能,甚至可能web服务器的资源已经耗尽,服务端还完全没达到最大吞吐量。要解决这个问题,只有使用LoadRunner直接调用服务端的接口,减少中间环节的干扰。

        首先,请大家安装LoadRunner8.1以上版本,因为8.1支持jdk1.5版本,现在很多应用都是在jdk1.5的框架下开发的。注意,8.1并不支持jdk1.6,所以请安装1.5版本。

        打开Vuser Generator,新建一个java Vuser协议的脚本。新脚本会自动创建一个class和3个函数:init、action、end。这时,大家先Compile一下,如果没有错误,再继续。如果报错,看看你的jdk版本。

        先把脚本保存在本地的文件夹中。然后,把调用服务所需要的一些jar文件,也拷贝到脚本目录里面。注意,一般调用远程Jboss服务时,都是需要一些描述接口函数类型的jar文件。另外,建议先使用eclipse,开发一个测试的框架类,通过这个框架,可以轻松的调用指定服务器的指定接口服务的指定方法,从而降低LoadRunner脚本编写的难度。

        jar文件准备好以后,点击toolbar上的“java function”按钮,然后点击“location”,把你需要的jar文件添加进来。这时,就能看到jar文件中的所有对象列表,以及对象的属性和方法。

        回到脚本编辑窗口,我们可以直接遵照C++的语法,编写脚本代码,在代码中,可以对刚才引入的java对象进行面向对象的编程,比如下面的代码:
com.Testing.ServiceCaller caller;
caller = new com.Testing.ServiceCaller ();
caller.init("192.168.0.1:4446", "ServiceName");
caller.call("methodName" ,  "paras");

        在这里写脚本,几乎和写java代码一模一样。我们可以完全引用jar文件的各种对象,同样,也可以使用java ee框架中的各种对象,LoadRunner对java的支持真是非常的好。

        同时,LoadRunner也提供了一些好用的函数,方便大家准备测试参数、输出测试结果,比如:
int orgId = lr.eval_int("2");
lr.error_message ("出错喽");

        这些以lr开头的方法,参考文档在帮助中写的很清楚。比如lr.eval_int就是把字符型变量转换成int型,lr.error_message 是输出错误的提示,我们可以在代码中加入数据正确性的检查逻辑,这样在执行性能测试的时候,如果出错,就能很清楚的看到。

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • gubotao2008
    2012-1-18 18:51:36

    基于Loadrunner平台Socket协议的JavaVuser(多线程)
    http://blog.csdn.net/captain_gbt/article/details/7209570

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号