路漫漫其修远兮。。。

<<如何使用Loadrunner调用Java类 >>

上一篇 / 下一篇  2010-02-11 14:58:09 / 精华(3) / 置顶(3) / 个人分类:LoadRunner Document

   要求就是能够传参数给类,并且可以接收到类返回的参数,并且进行正确与否的判断。

    第一步,总的思路。

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

    第二步,做符合要求的实验用的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导入类的路径是可以自己设置的,不需要专门把所有的类都放到classes目录下,具体设置的地方在 runtime settings里面class path项里进行设置就可以了,每一个脚本都可以这样设。关于具体的并发的时候如何取脚本,这些有关于laodrunner的布置问题,这里不多说。

    笔者注:

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

    导入的是简单的类文件,如果这个类又调用了其他的类,别的类在jar包中,不需要把jar包解压,然后把类一一导入,只需要在CLASSPATH中把相关jar包的路径加入就好。
google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);

TAG:

 

评分:0

我来说两句

EasternCowboy

EasternCowboy

To be a devout priest !

日历

« 2024-04-28  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 21556
  • 日志数: 49
  • 图片数: 3
  • 建立时间: 2009-08-21
  • 更新时间: 2011-03-16

RSS订阅

Open Toolbar