想必各位小伙伴们会对LR还可以调用java感到好奇,之前我也这么一直认为LR只支持C语言。其实LR脚本支持的语言有:C、Java、Visual Basic、VbScript、JavaScript,只不过默认的是C语言而已,下面我们就以java接口测试代码来进行性能测试。
一、Java代码调试
1、导入测试jar包(公司内部加密接口)
2、代码运行成功
如下图正是因为上述接口运行成功时返回码retcode为000000,所以我们自己加上下面这段业务代码,
其目的就是为了在LoadRunner中压测的时候判断调用成功与失败
//LoadRunner压测返回码判断 if(!response.contains("\"retcode\":\"000000\"")){ return -1;//即调用成功 } else{ return 0;//调用失败 }
3、导出可执行的Jar文件(包含lib库)
右键项目->Export->java->Runnable JAR file
导出到桌面(jar可执行文件和lib库文件夹)
二、将导出的文件放到Loadrunner中
1、下面是我搭建在测试服务器上的LoadRunner 11
Remote Desktop Connection Manager为微软一款远程连接工具,个人比较喜欢,可点它下载
二、机器上安装JDK(注意Loadrunner 11只支持JDK 1.6 32位而LR12支持JDK1.6以上版本),测试机器已经安装JDK1.6 32位
- JAVA_HOME:D:Program FilesJavajdk1.8.0_45
- Path:%JAVA_HOME%in;
- CLASSPATH:.;%JAVA_HOME%lib;
三、Virtual User Generator中编写脚本
public class Actions { public int init() throws Throwable { return 0; }//end of init public int action() throws Throwable { lr.start_transaction("creditdemo");//下面事物内容为调用测试代码中的方法并且判断业务返回码 int ret = P_C_B112.Request();//调用可执行文件中类的方法,我的类名为P_C_B112,方法(被测接口)为Request() if(ret<0) { lr.end_transaction("creditdemo", lr.FAIL);//返回码<0,调用成功,此处调用了我们之前写的一段请求接口是否成功的业务代码 } else { lr.end_transaction("creditdemo", lr.PASS);//返回码>0,调用失败 } return ret; }//end of action public int end() throws Throwable { return 0; }//end of end }
运行一次保证脚本调通
三、Controller场景设置
导入刚才我们已经调通的脚本
下图已经跑通了5000多笔交易
四、Analysis分析压测报告
生成压测报告,分析报告,给出结论
Over。。。。。。