web_reg_save_param_regexp函數的用法


 

 

 

關聯從服務器返回的所有的內容:

本例通過一個使用HTTP/HTML協議發送、獲取服務器數據的vuser腳本,分析LoadRunner如何進行HTTP關聯。

  下面這個例子包括兩個事務:上傳數據到服務器、下載服務器數據,通過關聯將服務器返回的數據保存下來,方便就行分析。

  1、定義變量

  在Action最前面定義變量,否則會報錯。

  代碼:

 

merc_timer_handle_t timer;
 double wasteTime=0;
        char *ActualBuffer;
 int NumberOfBytes;
 char *tmp;
 char tmpcode[24]={0};
 //iterator
 int i=0;
 int j = 0;
 int m = 0;

 //mobile
 char codearray[100][24]={0}; //存儲mobile下載的代碼,每個代碼暫設為24字節長
 char* code;
 short codelen;        //存儲mobile下載的代碼的長度
 short codenum;        //總代碼個數
 int retUL = -1;  //上傳返回值
 //int lenUL = 0;   //上傳返回長度
 int retDL = -1;  //下載返回值
 int lenDL = 0;   //下載返回長度
 int flag = 0;    //符合的code總數

 //pc
 //char retcodeUL[10]={0};
 //char retcodeDL[2048]={0};
 char* pcretUL;
 char pccode[24]={0};
 char pccodearray[1024][24]={0};
 short pccodelen=0;

 

  2、保存服務返回數據

  在定義變量或常量后,開始定義事務、進行關聯。

  代碼:

web_set_max_html_param_len("2000000");//設置頁面接收最大的字節數,該設置應大於下載文件的大小

 //使用關聯函數獲取下載文件的內容,在這里不定義左右邊界,獲得服務器響應的所有內容 
 web_reg_save_param("filecontent",
   "LB=",
   "RB=",
   "Search=BODY",
   LAST);
 lr_rendezvous("Re_UL_PC");

 lr_start_transaction("UL_PC");
 //pc上傳
 web_url("create",
  "URL=http://10.15.107.112:9089/sys/userdata/create?userid={userid}&content={'group0':[{'data':'{code1}.stk','time':1376904823299640},{'data':'{code2}.stk','time':1376904823299647},{'data':'{code3}.stk','time':1376904823299651},{'data':'{code4}.stk','time':1376904836969909}]}&fileName=mystock.json&rawtype=true&Accept=json",
  "Resource=0",
  "RecContentType=text/html",
  "Referer=",
  "Snapshot=t1.inf",
  "Mode=HTTP",
  LAST);

 pcretUL = lr_eval_string("{filecontent}");
 if(NULL != strcmp(pcretUL,"{\"state\":1"))
  lr_end_transaction("UL_PC",LR_PASS);
 else
  lr_end_transaction("UL_PC",LR_FAIL);

 

 

  在上述代碼中,web_reg_save_param函數起到了關聯作用,必須在調用web_url之前使用,它的作用類似一個注冊機制。調用了語句web_reg_save_param("filecontent",  "LB=",  "RB=",  "Search=BODY",  LAST);之后,

LoadRunner自動將服務器返回的HTTP數據的BODY中左右邊界(LB左邊界,RB右邊界)之內的內容保存到變量filecontent中。具體參數說明請參考幫助文檔。

  filecontent由系統自動分配,我們只需要給它傳個名字,以后可以直接使用該變量。pcretUL = lr_eval_string("{filecontent}");將變量filecontent的內容提取賦值給我們自定義變量pcretUL。注意調用形式。

  獲取到服務器數據后,通過添加自己的判斷邏輯,來斷定事務成功或失敗。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM