您好,登錄后才能下訂單哦!
一.關聯介紹:
LR錄制的腳本只是忠實記錄了所有從客戶端發(fā)送到服務器端的數據,并在腳本回放的時候按照錄制的順序將錄制下來的數據重新發(fā)送出去。但是,實際上許多的系統(tǒng)都采用SessionID或SeqID等方法來標識不同的任務和數據報,應用在每次運行時發(fā)送的數據并不完全相同。所以,為了讓腳本能夠支持測試的需求,就必然要用某種機制對腳本的數據進行出來了??傊痪湓挘和ㄟ^關聯可以在測試中保持動態(tài)值。
二.一般的關聯步驟:
1.從服務器返回的數據中選取需要進行關聯的數據。
2.將該數據存入腳本的一個參數中
3.將腳本中需要使用該數據的地方用參數來替換。
Tip:對于web來說,一般會用一個hidden 的 field存放。所以在可以服務器返回的記錄查找該字段值。
三:關聯的目的:
1.簡化或優(yōu)化代碼
例如,如果依次執(zhí)行一系列的相關查詢,您的代碼可能會變得很長。為了減少代碼的大小,可以嵌套查詢,但這樣會失去準確性,而代碼會變得復雜而難以理解。通過關聯語句,不需要嵌套就可以鏈接查詢。
2.用于動態(tài)數據
許多應用程序和網站當前日期和時間標識會話。如果嘗試重播腳本,該操作將會失敗,應為當前時間與錄制時間不同(LR自帶的WEB演示程序)。通過關聯數據可以保存動態(tài)數據,并在整個方案過程中使用這些數據。
四:關聯操作
方法一:自動關聯
1.Tools -Recording Options。
2.設置完成后錄制登陸 - 退出過程。
3.利用LR自帶的自動關聯進行關聯。
方法二:手動關聯
1:錄制測試腳本,錄制二遍
2:使用WinDiff工具找出兩次腳本的不同,判斷是否需要進行關聯(Tools下的 Compare with Vuser進行2個相同操作的腳本對比)
3:確定插入關聯的位置
4:在VIEW TREE中使用web_reg_save_param函數手動建立關聯
5:將腳本中有用到關聯的數據,用參數代替
6:驗證關聯的正確性
五:定位需要關聯操作
1.Vuser -Scan Script. for Correlations
2.在Server Response 中進行比對2次服務器變化的數值。
六:常見的需要關聯的場景
1.登錄操作。
2.先查后修改,先差后刪除。
3.并發(fā)控制:防止2個用戶同時修改或同時刪除一條記錄。
七:關聯函數模型
int web_reg_save_param (const char *ParamName, <List of Attributes>, LAST); 成功返回:LR_PASS(0),失敗LR_FAIL(1)
例子:web_reg_save_param ("Test","LB=userSession Value","LB=>","Ord=1"
"RelFrameID=1.21","Serch=Body","IgoreRedirections=Yes",LAST);
八:手動關聯總結
1、正常情況下的手動關聯:web_reg_save_param("SessionId"," LB =value=\""," RB =\">", LAST );
LR:所需截取字符串的左邊界
RB:所需截取字符串的右邊界
如果左右邊界中存在各種特殊字符,如雙引號等,則需先用\進行轉義
一般情況下,如果所截字符串的左右邊界比較唯一的話,可以直接用上面的方式進行獲取,無需設置別的屬性
了。(“LAST”是固定的。。。)
2、如果進行關聯后,有報錯信息,提示參數化未成功,有可能是以下幾方面的原因:
1)左右邊界取值不正確,可以進入Generation log中,查看在關聯的參數左右邊界是否正確
2)關聯函數的位置放置錯誤
可以將log設置成輸出Extended log。
設置方法為:Vuser->Run-time Settings->Log屬性中,選中Extended log 并選中下面三個日志。
在輸出的日志中找到所要關聯化的參數第一次的輸出位置(注意是response返回的值,不是request中的),
對照左側的腳本行數,將關聯函數放在此行數之前,即可。
3、關聯沒問題,運行時無報錯,可就是得不到參數的值,可以從Extended log中找到原因。
將Replay Log中的日志改為輸出Extended log->Parameter substitution日志,再重新運行一次,便可看到
所關聯參數的變化情況。
4.如果某個參數關聯成功,可是運行時卻發(fā)現還會報錯,那么可以考慮一下是不是因為有別的值跟你所截取的
這個參數相關聯,隨著那個值的變化,你所截取的這個參數也會進行某一方面的變化,那樣的話就需要將那個變化的值
同樣進行參數化。也有可能是被關聯的參數被HTTP請求多次返回,每次界面引用的值都不同,注意通關抓包來分析
九、關聯中常用的轉義內容
\b Backspace鍵
\f 換頁
\n 換行
\r 回車
\t 水平制表符
\v 垂直制表符
\' 單引號標記
\" 雙引號標記
\\ 反斜線
\? 文本問號
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。