zoukankan      html  css  js  c++  java
  • LR Java脚本编写方法

      之前在某一家银行也接触过java写的性能接口脚本,最近因项目,也需编写java接口性能测试脚本,脑袋一下懵逼了,有点不知道从何入手。随后上网查了相关资料,自己又稍微总结了一下,与大家共同分享哈~

      首先,新建一Java Vuser脚本,要清楚自己的项目脚本所需的jar包,然后在LoadRunner的Run-time Setting设置--Java环境下的classpath,添加jdk本地的bin/lib及下面的dt.jar包和tools.jar包,项目所需的一些jar包。(注意:我使用的是LR12的版本,可以支持jdk1.8;若是LR11,支持jdk最高版本为1.6)

       其次,在脚本中,import导入自己所需的包。例如:

        import lrapi.lr;
        import java.text.SimpleDateFormat;
        import java.util.Date;

      具体脚本,举例上传图片一脚本仅供大家参考,有些可能不适用,但有些方法还是有共同之处的,其中包含获取当前时间、截取字段,判断和事务等内容。

     1 /*
     2  * LoadRunner Java script. (Build: _build_number_)
     3  * 
     4  * Script Description: 
     5  *                     
     6  */
     7 
     8 import lrapi.lr;
     9 import com.client.SunEcmClientApi;
    10 import com.client.bean.ClientBatchBean;
    11 import com.client.bean.ClientBatchFileBean;
    12 import com.client.bean.ClientBatchIndexBean;
    13 import com.client.bean.ClientFileBean;
    14 import com.client.impl.SunEcmClientSocketApiImpl;
    15 import java.text.SimpleDateFormat;
    16 import java.util.Date;
    17 
    18 public class Actions
    19 {
    20 
    21     public int init() throws Throwable {
    22         return 0;
    23     }//end of init
    24     
    25     public int action() throws Throwable {
    26 
    27             SunEcmClientApi clientApi=new SunEcmClientSocketApiImpl("188.177.155.87", 8021);
    28             String busiNo="TEST02-"+System.currentTimeMillis();
    29 
    30             Date date = new Date();
    31             SimpleDateFormat sim=new SimpleDateFormat("yyyyMMdd");//该日期格式例如20200116
    32             String dateStr=sim.format(date);
    33             //lr.message("#######当前时间:["+dateStr+"]#######");
    34             
    35             ClientBatchBean batchBean=new ClientBatchBean();
    36             String rsg="";
    37             batchBean.setModelCode("TEST");
    38             batchBean.setUser("uesr");
    39             ClientBatchIndexBean batchIndexBean=new ClientBatchIndexBean();
    40        batchIndexBean.addCustomMap("BUSI_SERIAL_NO", busiNo);
             batchIndexBean.addCustomMap("BUSI_START_DATE", dateStr); 41 ClientBatchFileBean batchFileBean=new ClientBatchFileBean(); 42 batchFileBean.setFilePartName("TEST"); 43 44 lr.start_transaction("01_上传"); 45 46 for(int i=1; i<3; i++){ 47 ClientFileBean fileBean=new ClientFileBean(); 48 fileBean.setFileName("E:/CSS/ceshi"+i+".jpg"); 49 fileBean.setFileFormat("jpg"); 51 fileBean.addOtherAtt("FILE_CN_NAME", "ceshi"+i+".jpg"); 52 fileBean.addOtherAtt("BUSI_FILE_TYPE", "<Type>");//参数化调用 53 fileBean.addOtherAtt("BUSI_FILE_PAGENUM","1"); 54 batchFileBean.addFile(fileBean); 55 } 56 57 batchBean.setIndex_Object(batchIndexBean); 58 batchBean.addDocument_Object(batchFileBean); 59 try { 60 rsg=clientApi.upload(batchBean, "123"); 61 lr.message("#######调用上传返回的信息[" + rsg + "]#######"); 62 String code=rsg.split("<<::>>")[0];//字符串剪切,提取SUCCESS字符串 63 //lr.message("#######CODE:[" + code + "]#######"); 64 if(code.equals("SUCCESS")){ 65 lr.end_transaction("01_上传",lr.PASS); 66 }else{ 67 lr.end_transaction("01_上传",lr.FAIL); 68 } 69 } catch (Exception e) { 70 e.printStackTrace(); 71 lr.end_transaction("01_上传",lr.FAIL); 72 lr.message(" 抛错信息 : " + e.toString() ); 73 } 74 75 76 return 0; 77 }//end of action 78 79 80 public int end() throws Throwable { 81 return 0; 82 }//end of end 83 84 85 86 }
  • 相关阅读:
    Linux常用命令大全,常用命令总结
    mysql Invalid default value for 'time'
    Laravel 集合 Collection
    WAMP中的mysql设置密码
    laravel jwt 无感刷新token
    laravel tymon/jwt-auth header 发送token
    使用lamp一件安装包 遇到is not within the allowed path(s)的问题
    Linux查看网络和IO性能问题
    jenkins重启导致的项目全部丢失
    算法-排序算法-快速排序
  • 原文地址:https://www.cnblogs.com/zwh-Seeking/p/12199834.html
Copyright © 2011-2022 走看看