8.11 Java Vuser
在上面的章节中我们发现使用.NET协议可以帮助我们解决很多问题,既然.NET可以这样写,Java当然也能这样写。
我们接着来看看如何使用Java Vuser来解决Java项目开发中的测试问题。在Vugen中创建一个Java Vuser脚本,在这个新建的脚本中可以直接编写Java代码了,由于还没有Eclipse的IDE插件,Java Vuser的脚本还不能像.NET Vuser脚本一样在开发工具中进行开发。
我们在代码的Action中编写一个基本的输入语句,代码如下:
public int action() throws Throwable { System.out.println("java Vuser"); return 0; }//end of action |
运行该代码可以看到正确地输出了java Vuser字符串。接着我们继续测试一下在Java Vuser中做一个从1累加到10000的操作到底要多少时间的性能测试。新建一个新的脚本,编写下面的代码:
public int action() throws Throwable { int i,t; t=0; lr.start_transaction("for"); for(i=0;i<10000;i++) { t=t+i; } lr.end_transaction("for", lr.AUTO); lr.output_message(""+t); return 0; }//end of action |
这里模拟了前面.NET Vuser中的测试案例,运行之后得到响应时间为:
Notify: Transaction "for" started. Notify: Transaction "for" ended with "Pass" status (Duration: 0.0016). |
有时候在Java Vuser中跑出的时间相对于前面.NET Vuser的响应时间会长很多。这个数据并不是非常正确,当加载到场景中运行时,数据会回到正常的情况。
8.11.1使用Java Vuser测试MySQL数据库性能
这里我们通过JDBC编写一个连接MySQL数据库查询的Java Vuser脚本,用来测试数据库的性能,同样的写法可以应用在SQL Server或Oracle中。
这里要使用MySQL JDBC驱动程序mysql-connector-java-*.jar,并加入到ClassPath中。打开Run-time Settings,在Classpath中添加该Jar包,如图8.39所示。
图8.39 添加Jar包