談談LoadRunner中的關聯

                                                         談談LoadRunner中的關聯
當錄製腳本時,VuGen會攔截client端(瀏覽器)與server端(網站服務器)之間的對話,並且記錄下來,產生腳本

         當執行腳本時,VuGen僞裝成瀏覽器,然後根據腳本,把當初瀏覽器所做過的,再對網站服務器運行一遍。

         所以記錄在腳本中要跟服務器所說的話,完全與當初錄製時所說的一樣,是寫死的。這樣的作法在遇到有些比較聰明的服務器時,還是會失效。這時就需要透過「關聯(correlation)」的做法來讓VuGen可以再次成功地騙過服務器。

何謂關聯(correlation)?
所謂的關聯(correlation)就是把腳本中某些寫死的(hard-coded)數據,轉變成是取自服務器所送的、動態的、每次都不一樣的數據

下面舉一個實例來說明:

         當錄製腳本時,瀏覽器送出網頁A的請求,服務器將網頁A的內容傳送給瀏覽器,並且夾帶了一個ID=123的數據,當瀏覽器再送出網頁B的情求時,這時就要用到ID=123的數據,服務器纔會認爲這是合法的請求,並且把網頁B的內容送回給瀏覽器。

         在執行腳本時會發生什麼狀況?瀏覽器再送出網頁B的請求時,用的還是當初錄製的ID=123的數據,而不是用服務器新給的ID=456,整個腳本的執行就會失敗。

具體錯誤的信息會出現一些什麼內容呢?

         錯誤訊息有可能會提醒您要重新登入,但是也有可能直接就顯示HTTP 404的錯誤訊息。
VuGen提供二種方式幫助您找出需要做關聯(correlation)的值:
1. 自動關聯
2. 手動關聯
自動關聯
         VuGen內建自動關聯引擎(auto-correlation engine),可以自動找出需要關聯的值,並且自動使用關聯函數建立關聯。
自動關聯提供下列二種機制:
? Rules Correlation:在錄製過程中VuGen會根據訂定的規則,實時自動找出要關聯的值。規則來源有兩種:
o 內建(Built-in Correlation):
         VuGen已經針對常用的一些應用系統,如AribaBuyer、BlueMartini、BroadVision、InterStage、mySAP、NetDynamics、Oracle、PeopleSoft、Siebel、SilverJRunner等,內建關聯規則,這些應用系統可能會有一種以上的關聯規則。您可以在【Recording Options】>【Internet Protocol】>【Correlation】中啓用關聯規則,則當錄製這些應用系統的腳本時,VuGen會在腳本中自動建立關聯。
         您也可以在【Recording Options】>【Internet Protocol】>【Correlation】檢視每個關聯規則的定義。
請依照以下步驟使用Rule Correlation:
1. 啓用auto-correlation
1. 點選VuGen的【Tools】>【Recording Options】,開啓【Recording Options】對話窗口,選取【Internet Protocol】>【Correlation】,勾選【Enable correlation during recording】,以啓用自動關聯。
2. 假如錄製的應用系統屬於內建關聯規則的系統,如AribaBuyer、BlueMartini、BroadVision、InterStage、mySAP、NetDynamics、Oracle、PeopleSoft、Siebel、SilverJRunner等,請勾選相對應的應用系統。
3. 或者也可以針對錄製的應用系統加入新的關聯規則,此即爲使用者自訂的關聯規則。
4. 設定當VuGen偵測到符合關聯規則的數據時,要如何處理
【Issue a pop-up message and let me decide online】:跳出一個訊息對話窗口,詢問您是否要建立關聯。§
【Perform correlation in sceipt】:直接自動建立關聯

手動關聯
手動關聯的執行過程大致如下:
1. 使用相同的業務流程與數據,錄製二份腳本
2. 使用WinDiff工具協助找出需要關聯的數據
3. 使用web_reg_save_param函數手動建立關聯
4. 將腳本中有用到關聯的數據,以參數取代
接下來將詳細的說明如何執行每個步驟
使用相同的業務流程與數據,錄製二份腳本
1. 先錄製一份腳本並存檔。
2. 依照相同的操作步驟與數據錄製第二份腳本並存盤。注意,所有的步驟和輸入的數據一定都要一樣,這樣才能找出由服務器端產生的動態數據。
有時候會遇到真的無法使用相同的輸入數據,那您也要記住您使用的輸入數據,到時才能判斷是您輸入的數據,還是變動的數據。
使用WinDiff工具協助找出需要關聯的數據
1. 在第二份腳本中,點選VuGen的【Tools】>【Compare with Vuser…】,並選擇第一份腳本。
2. 接着WinDiff會開啓,同時顯示二份腳本,並顯示有差異的地方。WinDiff會以一整行黃色標示有差異的腳本,並且以紅色的字體顯示真正差異的文字。(假如沒看到紅色字體,請點選【Options】>【View】>【Show Inline Differences】)。
3. 逐一檢視二份腳本中差異的部份,每一個差異都可能是需要做關聯的地方。選取差異的腳本,然後複製。

4.然後利用一些函數實現關聯

         以上僅僅談了一下LR腳本爲什麼要關聯,關聯包括手工關聯和自動關聯,更爲詳細的內容可以參照LR的使用說明書
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章