Java Vuser说白了就是让用Java写一个类,LoadRunner会创建多个线程去跑这个类里的三个固定方法。
环境只需两步: 第一,装对 JDK 版本(LoadRunner 11 必须用 1.6,新版本看官方说明);第二,在 Run-Time Settings → Java Vuser → Classpath 里把你用到的所有第三方 jar 包全加进去,lrapi.jar 自带了但必须放在列表最前。
脚本就这三行:
java
public int init() { return 0; } // 每个用户跑一次,放连接池、读配置
public int action() { return 0; } // 每个用户反复执行,压测逻辑放这里
public int end() { return 0; } // 每个用户跑一次,关资源
平时写代码只需要关注 action,比如发个 HTTP 请求就四行:
java
URL url = new URL("http://目标地址");
URLConnection conn = url.openConnection();
conn.getInputStream();
lr.outputMessage("请求完成");
这就够跑起来了。
进阶就是在 action 里加几个函数调用:
测响应时间用 lr.start_transaction("名字") 和 lr.end_transaction("名字", lr.AUTO) 包住你的业务代码。
想模拟瞬间并发就在事务前写一句 lr.rendezvous("集合点名"),所有用户会在这等齐了再冲。
要用不同的测试数据就把固定值换成 {参数名},然后在参数列表里配个 CSV 文件就行。
资源管理要注意:数据库连接、HTTP 客户端这类耗时的对象别在 action 里 new,放到 init 里创建,存成成员变量,这样每个用户只创建一次,跑得快很多。但要注意线程安全问题,别用静态变量共享。
报错无非三种:Classpath 没配好导致编译失败;JDK 版本不对导致类加载异常;License 不支持就换一个全球许可。其他问题看日志都能定位。