开发Java Vuser脚本

来源:互联网 发布:淘宝在哪看购物评级 编辑:程序博客网 时间:2024/06/07 07:13

开发JAVA Vuser脚本其实并复杂,关键是需要对客户端程序的开发非常了解,必须知道由那些类,类中有哪些方法和函数,这些方法和函数如何调用,说白了你需要把客户端的源码读一遍,理解了。要是在研发人员的帮助下就简单多了。开始脚本开发了按照以下步骤进行:

1)让你研发人员坐你旁边,打开她的开发环境;

2)准备好你的脚本开发环境,安装好JDK,配置好环境变量,当然要保障测试应用的客户端是可以正常启动和运行的。

3)规划你的脚本,选择需要开发的业务,比如:系统初始化、系统登录、数据查询、数据增加等等;

4)开始开发脚本,打开LR VUG,选择JAVA Vuser脚本,默认情况下是这样的:

import lrapi.lr;

public class Actions

{

public int init() throws Throwable {

           return 0;

}//end of init

public int action() throws Throwable {

           return 0;

}//end of action

public int end() throws Throwable {

           return 0;

}//end of end

}

5)  在Runtime-Setting中设置Classpath,将你客户端的那个JAR包加载进去;

6)  问你旁边的研发人员,你需要完成的业务需要调用的类和方法以及他们的路径,比如我这次测试过程中初始化需要调用的方法applySystemProperties()、createUserHomeDirSettings();和initConfig(),这几个方法分别存在对应目录的类文件中如下:

applySystemProperties():Org\executequery\ApplicationLauncher.class

createUserHomeDirSettings();:org\executequery.util\SystemResources.class

initConfig():org\imageinfo\config.gui\UserLoginPanel.class

因此写成脚本如下:

         lr.start_transaction ("初始化");

          org.executequery.ApplicationLauncher App = new org.executequery.ApplicationLauncher();

             App.applySystemProperties();

       org.executequery.util.SystemResources.createUserHomeDirSettings();

    org.imageinfo.config.gui.UserLoginPanel UserLogin=new org.imageinfo.config.gui.UserLoginPanel(new javax.swing.JDialog());

             UserLogin.initConfig();

             lr.end_transaction("初始化", lr.AUTO);

注意:这个脚本开发过程中研发人员的配合很重要,你要做的目的就是把你要仿真的业务搞清楚,然后请他来帮你找她程序的实现方式。

很快脚本开发完成了,这里注意几点:

1)  尽量采用在设置中加载JAR包的方式,同样也可以采用Import的方式加载,但是有点麻烦;

2)  研发人员一定要对自己的程序很清楚。

3)  注意动态类和静态类,动态类需要定义,静态类可以直接调用;

4)  在JAVA VUser模拟虚拟用户时,线程模拟,要比进行模拟效率高很多;具体区别大家可以做试验分析;

5)  如果采用多负载机施加压力,记得每天负载机的设置,要保证每台负载机都能具有完好的JAVA环境和客户环境,同时保证需要调用的JAR文件可以找到。

6)  完整脚本如下:


 

 

import javax.swing.JDialog;

//import JZProjects.org.imageinfo.config.gui.*;

//import JZProjects.org.imageinfo.config.parainit.*;

import lrapi.lr;

public class Actions

{

                  public int init() throws Throwable {

                   return 0;

         }//end of init

         public int action() throws Throwable {

            // PropertyInit.setConnection();

             lr.think_time(10);

             lr.start_transaction ("初始化");

             org.executequery.ApplicationLauncher App = new org.executequery.ApplicationLauncher();

             App.applySystemProperties();

            org.executequery.util.SystemResources.createUserHomeDirSettings();

org.imageinfo.config.gui.UserLoginPanel UserLogin=new org.imageinfo.config.gui.UserLoginPanel(new javax.swing.JDialog());

             UserLogin.initConfig();

             lr.end_transaction("初始化", lr.AUTO);

        //UserLogin.main(null);//调用登录界面

             lr.think_time(10);

        lr.start_transaction ("登录");

             org.imageinfo.config.gui.UserLoginPanel.userName="admin";

             //org.imageinfo.config.gui.UserLoginPanel.userPassword="admin";

             boolean CheckUser=UserLogin.CheckUserNameExist(); //检测用户名

             boolean CheckPass=UserLogin.CheckUser();//检测用户名密码

             lr.end_transaction("登录", lr.AUTO);

           lr.think_time(10);

        lr.start_transaction("查询");

             org.imageinfo.gui.panel.CommandManage Search= new org.imageinfo.gui.panel.Co mmandManage("DCDYGSJJQZTCLCPSJB");

                 Search.queryData();

             lr.end_transaction("查询", lr.AUTO);

                   return 0;

         }//end of action

         public int end() throws Throwable {

                   return 0;

         }//end of end

}

0 0
原创粉丝点击