不是所有的內容多需要做關聯
Loadrunner關聯(一)什麼時候需要做關聯
關聯(correlation):在腳本回放過程中,客戶端發出請求,通過關聯函數所定義的左右邊界值(也就是關聯規則),在服務器所響應的內容中查找,得到相應的值,已變量的形式替換錄製時的靜態值,從而向服務器發出正確的請求,這種動態獲得服務器響應內容的方法被稱作關聯。
其實關聯也屬於一同特殊的參數化,只是與一般的參數化有些不同
一般的參數化的參數來源於一個文件、一個定義的table、通過sql寫的一個結果集等,但關聯所獲得的參數是服務器響應請求所返回的一個符合條件的、動態的值
2.什麼時候需要做關聯
要想弄清這個問題,我們首先要知道客戶端與服務器端的請求與響應的過程
拿一個登錄的過程我們來看一下:
過程說明:
客戶端發出獲得登錄頁面的請求
服務器端得到該請求後,返回登錄頁面,同時動態生成一個Session Id
當用戶輸入用戶名密碼,請求登錄時,該Session Id同時被髮送到服務器端
如果該Session Id在當前會話中有效,那麼返回登錄成功的頁面,如果不正確則登錄失敗
在第一次錄製過程中loadrunner把這個值記錄了下來,寫到了腳本中,但再次回放時,客戶端發出同樣的請求,而服務器端再一次動態的生成了Session Id,此時客戶端發出的請求就是錯誤的,爲了獲得這個動態的Session Id我們這裏用到了關聯。
所以我們得出結論:
當客戶端的某個請求是隨着服務器端的相應而動態變化的時候,我們就需要用到關聯
當然我們在錄製腳本時應該對測試的項目進行適當的瞭解,知道哪些請求需要用到服務器響應的動態值,如果我們不明確那些值需要做關聯的話,我們也可以將腳本錄製兩遍,通過對比腳本的方法來查找需要關聯的部分,但並不是說兩次錄製的所有不同點都需要關聯,這個要具體情況具體分析
關於自動關聯和手動關聯我會在下篇日誌中描述