51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2461|回复: 0
打印 上一主题 下一主题

[转贴] loadrunner调用java的类

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-8-28 10:06:37 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
最近公司需要测试几个具有一定功能类的性能,虽然我觉得这已经是白盒测试的范畴了,但是领导要求
这样做,我也就只好进行技术的研究。要求就是能够传参数给类,并且可以接收到类返回的参数,并且
进行正确与否的判断。
 
  第一步,总的思路。
 
  以前我都是用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的布置问题,这里不多说。
本文章来自中国IT实验室
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 00:45 , Processed in 0.059916 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表