LoadRunner调用java的类

发表于:2009-5-25 15:44

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

 作者:未知    来源:51Testing博客

  最近公司需要测试几个具有一定功能类的性能,虽然我觉得这已经是白盒测试的范畴了,但是领导要求这样做,我也就只好进行技术的研究.要求就是能够传参数给类,并且可以接收到类返回的参数,并且进行正确与否的判断。

  第一步,总的思路。

  以前我都是用loadrunner直接进行录制,但是有些协议的确不好弄不知道怎样进行录制,像vb,c++,java语言做的东西我觉最简单的方式就是直接调用相关的类文件,动态链接库,直接用代码的方式进行调用。在这种思想下,于是试着在loadrunner中写程序调用java类。

  第二步,做符合要求的实验用的java类。

  说实话难度太大了对我来说,我一点不懂java,好在我知道C++,但是java的代码编写方式和编译环境,都是我从来没有见过的。慢慢学,多多问,好不容易最初级别的搞定了这些,首先要装j2sdk在系统盘下。,然后再系统环境变量中添加上%java_home%\bin;就可以用cmd命令进行java的编译和运行的操作了。编译和运行的命令分别是你所写java类目录下的运行javac test.java和java test 参数,例如,如果你的类在c:\test目录下,你就应该在cmd中使用cd \test,转到这个目录下,再用javac test.java和java test 参数进行操作。

  我从网上找到了一个现成的简单的java类,现将源代码放在下面。

package MAIN;

 

import java.io.PrintStream;

 

public class Birthday

 

{

 

       public String year;

 

       public String month;

 

       public String day;

 

       public Birthday()

 

       {

 

           year="1900";

 

           month="01";

 

           day="01";

 

       }

 

       public Birthday(String y,String m,String d)

 

       {

 

           year=y;

 

           month=m;

 

           day=d;

 

           System.out.println("OK");

 

       }

 

       public String getBirthday()

 

       {

 

           String fullbirthday=month+'/'+'/'+day+'/'+year;

 

           return fullbirthday;

 

       }

 

}

  类很简单,用上述方法编译也是很容易就通过了。

  第三步,如何在Loadrunner中将这个类调用起来。

  想了很久,决定用java vuser这种脚本的方式进行写java代码,这点代码是一定要写的。熟悉一阵子java语言之后,决定用import将类引入,于是问题又来了,*.class文件该放在什么地方呢,中间试验的过程暂且不表,将最后结果写在这里就好。目前我得到的结果是将*.class文件放在,你loadrunner安装的路径下classes\main这个目录下。懂java的很容易就搞定了这一步,包括路径和import的语句。

  于是Loadruner中的java代码如下:

import lrapi.lr;

 

import MAIN.Birthday;

 

public class Actions

 

{

 

   public int init() {

 

       return 0;

 

   }//end of init

 

   public int action() {

 

              Birthday bir=new Birthday("1981","6","1");

 

       //bir.getBirthday

 

       System.out.println(bir.getBirthday());

 

       return 0;

 

   }//end of action

 

   public int end() {

 

       return 0;

 

   }//end of end

 

}

  注意,这里完成了对类的调用和初始化,并且传递了参数进去,最后调用类的方法,把一个值返回,并打印出这个值,至于怎样检查这个值是否正确就很简单了,这里就不累赘了.

  一天一点积累!工作上我的座游铭。

  最后发现,loadrunner中有很详细介绍资料,哎,感慨自己的英文水平呀!

  最后发现loadrunner导入类的路径是可以自己设置的,不需要专门把所有的类都放到classes目录下,具体设置的地方在runtime settings里面class path项里进行设置就可以了,每一个脚本都可以这样设。关于具体的并发的时候如何取脚本,这些有关于laodrunner的布置问题,这里不多说。

笔者注:

  昨天晚上发现,如果java的类的接口是数组或者别的类型的参数,Loadrunner就很难处理了,必须要把接口转变成简单类型才好进行参数化的处理。

  昨天导入的是简单的类文件,如果这个类又调用了其他的类,别的类在jar包中,不需要把jar包解压,然后把类一一导入,只需要在CLASSPATH中把相关jar包的路径加入就好。

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

精彩评论

  • zhuruize
    2009-5-25 20:11:09

    写的真好!

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号