轉帖|使用教程|編輯:蔣永|2016-10-12 10:28:27.000|閱讀 1853 次
概述:今天給大家帶來LoadRunner手動關聯的教程,分別從關聯的含義、過程和使用三個方面講解。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
一、關聯的含義:
關聯(correlation):在腳本回放過程中,客戶端發出請求,通過關聯函數所定義的左右邊界值(也就是關聯規則),在服務器所響應的內容中查找,得到相應的值,已變量的形式替換錄制時的靜態值,從而向服務器發出正確的請求,這種動態獲得服務器響應內容的方法被稱作關聯。
二、關聯的過程:
以登陸場景為例,客戶端發出獲得登錄頁面的請求,服務器端得到該請求后,返回登錄頁面,同時動態生成一個Session Id,當用戶輸入用戶名密碼,請求登錄時,該Session Id同時被發送到服務器端,如果該Session Id在當前會話中有效,那么返回登錄成功的頁面,如果不正確則登錄失敗;在loadrunner第一次錄制過程中會把這個值記錄了下來,但回放時,客戶端發出同樣的請求,而服務器端再一次動態的生成了新的Session Id,與Loadrunner中錄制的Session Id不匹配,此時客戶端發出的請求就會失敗,為了獲得這個動態的Session Id就用到了關聯。
三、關聯的使用:
LR中對參數關聯分兩種:
1、自動關聯,比如在錄制好后的腳本中,按CTRL+F8,掃描關聯,將掃描出來的內容關聯即可;如果LR找不到關聯時,就需要手動進行關聯。
2、手工關聯函數web_reg_save_param,運行腳本時,web_reg_save_param 函數將掃描所訪問的后續 HTML 頁。如果指定左邊界和右邊界,將搜索這些邊界之間的文本。將匹配的內容保存在web_reg_save_param中定義的參數中。
實現過程如下:
web_reg_save_param("outFlightVal",
"LB=outboundFlight value=", "RB= checked >", LAST );
web_submit_form("reservations.pl",
"Snapshot=t4.inf",
ITEMDATA,
"Name=depart", "Value=London", ENDITEM,
"Name=departDate", "Value=11/20/2003", ENDITEM,
"Name=arrive", "Value=New York", ENDITEM,
"Name=returnDate", "Value=11/21/2003", ENDITEM,
"Name=numPassengers", "Value=1", ENDITEM,
"Name=roundtrip", "Value=<OFF>", ENDITEM,
"Name=seatPref", "Value=None", ENDITEM,
"Name=seatType", "Value=Coach", ENDITEM,
"Name=findFlights.x", "Value=83", ENDITEM,
"Name=findFlights.y", "Value=16", ENDITEM,
LAST );
web_submit_form("reservations.pl_2",
"Snapshot=t5.inf",
ITEMDATA,
"Name=outboundFlight", "Value={outFlightVal}", ENDITEM,
"Name=reserveFlights.x", "Value=92", ENDITEM,
"Name=reserveFlights.y", "Value=10", ENDITEM,
LAST );
定義了搜索范圍LB左邊界值和RB右邊界值,將匹配的內容存放在outFlightVal中,在web_submit_form表單中進行引用。
實例說明:
以下為服務響應表單,對返回的動態值orderId進行關聯:
<input type="hidden" id="orderId" name="orderId"
value="f28958249e141e62312d855ce73252d3"/>
實現如下:
web_reg_save_param("orderId",
"LB=name="orderId" value="",
"RB="",
LAST);
在服務響應表單中找左邊界是:name="orderId" value="
右邊界是:"
將匹配到的結果賦給orderId。
之后就可以在后續流程中盡情的調用關聯值了。
另外:web_reg_save_param要放在web_submit_form等提交表單函數之前。
web_reg_save_param必須在獲取返回值的操作前面注冊,在獲取返回值的操作后面使用。
保存參數最大不能超過256字節,如果超過256字節請使用int web_set_max_html_param_len(const char *length )函數擴大參數保存范圍。
例如:web_set_max_html_param_len ("1024"); //擴大參數最大保存范圍為1024字節。
本文轉自()
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn