LR Java腳本編寫方法

  以前在某一家銀行也接觸過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)api

 

 

   其次,在腳本中,import導入本身所需的包。例如:性能

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

  具體腳本,舉例上傳圖片一腳本僅供你們參考,有些可能不適用,但有些方法仍是有共同之處的,其中包含獲取當前時間、截取字段,判斷和事務等內容。ui

 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 }
相關文章
相關標籤/搜索