上一節介紹了關聯的原理與自動關聯,除了自動關聯還有另外兩種關聯方式:手動關聯與預關聯。
手動關聯
如果腳本很長,那么我們想找到一個腳本中哪些地方是需要關聯的并不是一件容易的事情。這時,我們可以通過腳本對比的方法找出需要關聯的內容。
1、錄制第一份腳本,保存為“關聯a” 。
2、錄制第二份腳本(操作步驟與第一次保持一致),調用loadrunner自帶的WinDiff
(Tools-->campare with users ),選擇“關聯a”

通過WinDiff 對腳本的對比,我們很容易來判斷需要做關聯的內容。
3、使用web_reg_save_param函數建立關聯腳本
web_reg_save_param( "ParamName=CorrelationParameter_1", "LB=userSession Value=", "RB=>", "Ordinal=1", "RElFrameId=1.2.1", "Scope=Body", LAST); |
int web_reg_save_param( const char *ParamName, <List of Attributes>, LAST );
第一部分(const char *ParamName):參數名,用雙引號括起來,逗號分開
第二部分(<List of Attributes>):包括LB、RB、RelFameID、Ord、Search、SaveOffiset、SaveLen等。
第三部分(LAST ):結束標志。
通過按F1 鍵打開幫助文檔,搜索此函數,查看具體用法。
4、LR11 還提供了另一種手動關聯方式。
選擇Tree 視圖模式,點擊HTTP View 下查看Response Body 中,打到需要關聯的內容,右鍵在下拉列表中選擇“Create Coorelation”

預關聯
預關聯也可以叫做“ 一邊錄制一邊關聯”。為什么錄制某此系統,會得到一些自動關聯函數呢?這就是系統默認提供自動關聯設置。如果我們預先知道需要關聯的內容時。可以預先設置好要關聯的內容,這樣在腳本錄制的過程中自動對要關聯的內容進行關聯。
在錄制腳本時打開Recording Options 設置窗口
(本文以loadrunner 自帶WebTours 的關聯為例)
1、點擊一New Application 按鈕,新建一個叫做WebTours 的應用
2、選擇這個規則,點擊 New Rule 按鈕一個規則。
3、然后做如下設置:

關聯函數web_reg_save_param_ex
前面的例子用到web_reg_save_param 關聯函數,web_reg_save_param_ex 可能也是很常用的一個關聯函數。我們碰到函數就膽怯,這個不知道暗具體怎么使用它。
菜單欄Insert --- new step 打開add step 窗口

搜索web_reg_save_param_ex 函數,選中函數,點擊OK,彈出函數的設置窗口:

Prameter name:此設置存放參數的名稱。
Left boundary:此處設置左邊界,這里是用來填寫關聯對于數據處理的左匹配內容規則。
Match case:默認情況下邊界是檢查Match case ,也就是檢查大小寫的。
Binary data:如果要關聯的內容是非ASCII 字符的,需要選擇此項
Regular expression:在LR11 中關聯提供了使用正則表達式的功能,但是LR11 Patch3 中取消web_reg_save_param_ex 函數對此功能的設置。
Reight boundary:此處設置右邊界。
DFEs:在錄制選項和回放中我們提供了DFE的功能,在關聯這里也支持DFE的數據處理。(DFE等后面再解釋,或你自行查資料)
Ordinal:這個關鍵字在很多函數里面都有應用,在這里可以填寫任意一個整數,也可以填All。如果填寫數字,那么說明從返回的記錄中取出對應順序的值,而填寫All的話將會返回所有內容。
Save Offset:設置關聯的內容偏移量,從第幾位開始進行關聯操作。
Save Length:關聯出來的內容所需要保存的長度。
Warm if text was not found (Default is Error):對于關聯的對象不存在的處理。
Filters:下面的選項都是幫助關聯返回限定的,通過這些設置可以進一步減少返回的范圍。
----------------------------------------------------
關于關聯函數的每一個選項的介紹,我將得不是很清楚,你可以找更詳細的資料學習。