loadrunner——常見函數

web_url()和web_link()這兩個都是頁面訪問型函數,實現HTTP請求中的GET方法。

web_url("在測試結果中要顯示的名字","URL=需要訪問的超鏈接地址",LAST);

web_link("在測試結果中要顯示的名字","TEXT=需要單擊的超鏈接名稱",LAST);
如果一個頁面有多個同名的超鏈接名,可以使用Ord關鍵字來選擇具體的鏈接。
同名鏈接的先後順序是根據HTML代碼的解釋順序來決定的(從左往右,從上往下)。

web_submit_date()和web_submit_form()提交數據給指定頁面。

web_submit_data();該函數無需前面頁面的支持,直接發送給對應頁面相關數據即可。
web_submit_data("login.pl",
  "Action=http://www.testweb/login.asp",
  "Method=POST",
  "RecContentType=text/html",
  "Referer=http://www.testweb",
  "Mode=HTML",
  ITEMDATA,  /*要傳輸的數據
  "NAME=username","VALUE=weisf",ENDITEM,
  "NAME=password","VALUE=gggg",ENDITEM,
  LAST); 
 
web_submit_form();該函數會自動檢測頁面上是否存在form,然後將後面的ITEMDATA數據進行傳送。
web_submit_form("login.pl",
  ITEMDATA,  /*要傳輸的數據
  "NAME=username","VALUE=weisf",ENDITEM,
  "NAME=password","VALUE=gggg",ENDITEM,
  LAST);


關聯函數:web_reg_save_param()
關聯的作用是將服務器返回Server Response的內容保存爲參數。
添加關聯函數:Insert-New Step,在查詢框輸入web_reg_save_param。關聯函數的位置必須在請求之前。
函數常用的屬性:Search in,Left Boundary,Right Boundary,Instance,Relative Frame ID,Not Found,Save Length,Save Offset,Ignore Redirections。
Search in:如果只想獲得部分服務器返回的內容,可以修改該選項。
     Search in共有4個選項,Header       Body      Noresource       All。
     Noresource:指只從資源文件中關聯內容,即只從HTML文件格式中抓內容。
     Header Body All:這3個選項都是從請求返回的所有內容進行關聯處理,包括圖片、JS腳本等。
Left Boundary,Right Boundary:左右邊界。
Instance:可以填寫任意一個整數或者All。填寫數字:從返回的內容中取出對應順序的值。填寫all:返回所有匹配過濾策略的值。
Relative Frame ID:這個選項是專門針對框架結構的網站設計的。
Not Found:設置沒有找到匹配內容時的處理。默認爲ERROR。
Save Length:設置關聯出來的內容所需要保存的長度。
Save Offset:設置關聯的內容偏移量,從第幾位開始進行關聯操作。

如果關聯的左右邊界是動態的,無法確定返回的關聯內容的長度,可以使用函數strtok()來進行字符內容切割(類似於正則表達式)
參數也可以設置偏移量和長度,用函數lr_save_var()可以實現。
參數不能和值作比較,要先通過lr_eval_string()函數將其轉化成字符串,然後再通過atoi()函數轉化爲整數,才能和數值作比較。


文本檢查點函數:web_reg_find()
VuGen判斷腳本是否執行成功是根據服務器返回的狀態來確定的,如果服務器返回的HTTP狀態爲200K,那麼VuGen就會認爲腳本運行通過。
檢查點函數也是寫在請求前。(凡是註冊函數都要寫在請求前面)
文本檢查點與關聯的不同之處在於檢查點函數只能返回檢索到內容的次數。
函數常用屬性:search for specific text,search for text by start and end of string,search in,save count,fail if。
search for specific text:需要查詢的標準文本。
search for text by start and end of string:左右邊界。
search in:三個選項headers,body,all。
save count:記錄查找內容的出現次數並保存在一個參數中。
fail if:設置什麼情況下文本檢查點函數錯誤,有兩個選項found和NotFound。


事務相關的函數

事務響應時間不包括客戶端GUI時間(例如瀏覽器解釋頁面所消耗的時間)
事務相關的函數:
 lr_get_transaction_duration("事務名"); //獲得對應事務達到該函數運行位置時持續的時間,返回double類型。
 lr_get_transaction_wasted_time("事務名");//獲得對應事務達到該函數運行位置時的wasted時間,返回double類型。
 lr_wasted_time(毫秒);  //爲一個事物添加wasted時間,無返回。
 lr_stop_transaction("事務名"); //將一個事務暫停,該函數後的操作都不會被記入事務時間。
 lr_resume_transaction("事務名");//將暫停的事務恢復

儘量不要在事務內使用lr_think_time()函數;
wasted time:事務中應該扣除的由於其他原因導致的時間浪費。默認情況下,LR會將自身腳本運行浪費的時間記入wasted time。如關聯、檢查點函數的時間。
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章