想必各位小伙伴們會對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 Files\Java\jdk1.8.0_45
- Path:%JAVA_HOME%\bin;
- 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。。。。。。