想必各位小伙伴们会对LoadRunner还可以调用java感到好奇,其实LR脚本支持的语言有:C、Java、Visual Basic、VbScript、JavaScript,只不过默认的是C语言而已,下面我们就以java接口测试代码来进行性能测试。


一、Java代码调试
1、导入测试jar包(公司内部加密接口)

Java自动化测试判断 java编写自动化测试脚本_java编写自动化脚本生成apk

2、代码运行成功

Java自动化测试判断 java编写自动化测试脚本_Java自动化测试判断_02

如下图正是因为上述接口运行成功时返回码retcode为000000,所以我们自己加上下面这段业务代码,其目的就是为了在LoadRunner中压测的时候判断调用成功与失败

Java自动化测试判断 java编写自动化测试脚本_压测_03

//LoadRunner压测返回码判断
 
   
  
 if(!response.contains("\\\"retcode\\\":\\\"000000\\\"")){
 
   
  
 return -1;//即调用成功
 
   
  
 }
 
   
  
 else{ 
 
   
  
 return 0;//调用失败
 
   
  
 }



3、导出可执行的Jar文件(包含lib库)

右键项目->Export->java->Runnable JAR file

Java自动化测试判断 java编写自动化测试脚本_java编写自动化脚本生成apk_04

Java自动化测试判断 java编写自动化测试脚本_性能测试_05

导出到桌面(jar可执行文件和lib库文件夹)

Java自动化测试判断 java编写自动化测试脚本_性能测试_06

二、将导出的文件放到Loadrunner中
1、下面是我搭建在测试服务器上的LoadRunner 11
Remote Desktop Connection Manager为微软一款远程连接工具,个人比较喜欢,可点下载

Java自动化测试判断 java编写自动化测试脚本_java编写自动化脚本生成apk_07

二、机器上安装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
 
   
  
}

Java自动化测试判断 java编写自动化测试脚本_性能分析_08

运行一次保证脚本调通

 

Java自动化测试判断 java编写自动化测试脚本_java编写自动化脚本生成apk_09

三、Controller场景设置
导入刚才我们已经调通的脚本

Java自动化测试判断 java编写自动化测试脚本_Java自动化测试判断_10

下图已经跑通了5000多笔交易

Java自动化测试判断 java编写自动化测试脚本_Java自动化测试判断_11

四、Analysis分析压测报告
生成压测报告,分析报告,给出结论

Java自动化测试判断 java编写自动化测试脚本_性能测试_12