开发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) 完整脚本如下:
|