想必各位小伙伴們會對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。。。。。。
