軟件測試工具LR自動關聯解說
關聯的原理。當客戶端給服務器發送請求后,服務器會給客戶端返回一些數據。而這些數據中的某個部分,在你下面的腳本中會用到.這是你需要把這個數據保存起來備用。舉一個很簡單的例子,就可以說明這種情況。比如說你給服務器提交了一筆定單數據,服務器接受到后,會自動生成一個定單號。而你下面的腳本中,需要按定單號進行查詢。這時你就需要用到關聯了。
使用關聯的步驟:
1、添加web_reg_save_param函數,特別需要注意的是,這個函數一定要寫返回數據頁面的前面。 假設 web_submit_form("createTradeBySeller.htm",
"Snapshot=t6.inf",
ITEMDATA,
"Name=_fmt.c._0.g", "Value=商品名稱", ENDITEM,
"Name=_fmt.c._0.go", "Value=0.01", ENDITEM,
"Name=_fmt.c._0.goo", "Value=1", ENDITEM,
"Name=_fmt.c._0.ga", "Value=商品購買", ENDITEM,
"Name=_fmt.c._0.d", "Value=商品展示網址", ENDITEM,
"Name=_fmt.c._0.good", "Value=商品說明", ENDITEM,
"Name=_fmt.c._0.w", "Value=S", ENDITEM,
"Name=_fmt.c._0.tr", "Value=", ENDITEM,
"Name=_fmt.c._0.t", "Value=1", ENDITEM,
LAST);
這個頁面提交后,會生成定單號,那么web_reg_save_param(參數名,
"LB=,
"RB=,
LAST);一定要放到這個命令的前面。
2、在需要使用的地方加{參數名} 就可以引用你保存的數據了。
我覺得LR自動關聯也可以這樣嘗試一下
內容:
1.關聯的介紹
2.關聯的目的
3.一般的關聯步驟
4.設置實例網站
5.進行自動關聯
6.常見的需要關聯的情景
關聯的介紹
關聯是LR經常會用到的操作。
LR錄制的腳本只是忠實的記錄了所有從客戶端發送到服務器的數據,并在腳本回放的時候按照錄制時的順序將錄
制下來的數據重新發送出去。
但是,實際上許多的系統都是采用SessionID或SeqID等方法來標識不同的任務和數據包,應用在每次運行時發
送的數據并不完全相同。
所以,為了讓腳本能夠支持測試的需求,就必然要運用某種機制來對腳本錄制的數據進行處理。
總之一句話:通過關聯可以在測試中保持動態值。
關聯的目的
簡化或優化代碼
例如,如果一次執行一系列的相關查詢,你的代碼可能會變得很長,為了減少代碼的大小,可以嵌套查
詢,但這樣會失去準確性,而且代碼會變得復雜和難以理解。通過關聯語句,不需要嵌套就可以連接查
詢。
用于動態數據
許多應用程序和網站按照當前日期和時間標識會話。如果嘗試重播腳本,該操作將會失效,因為當前的
時間和錄制時間不同。通過關聯數據可以保存動態數據,并且在整個方案運行過程中使用這些數據。
容納唯一數據記錄
某些應用程序(如數據庫)要求使用唯一的值,錄制期間唯一的值在回放的過程中將不在唯一,例如,
你錄制了打開一個新的銀行賬戶的過程,每個賬戶都分配了用戶未知的唯一編號,錄制期間,此賬號將
插入具有唯一關鍵字約束的表中,如果嘗試按所錄制的那樣運行腳本,該操作將嘗試用錄制的編號而不
是新的唯一編號創建賬戶,結果將產生錯誤,因為該賬戶已經存在。如果在運行腳本時發生了錯誤,請
在錯誤的部分檢查腳本。大部分情況下,通過關聯查詢功能可以解決該問題,關聯查詢將一個語句的結
果用作另一個語句的輸入
一般的關聯步驟
從服務器返回的數據中選擇需要進行關聯的數據
將該數據存入腳本的一個參數中
將腳本中需要用到該數據的地方用參數來替換
Tip:對于WEB來說,一般會用一個hidden的field存放
設置實例網站
為了讓示例網站在每次登陸時創建不同的ID,我們需要設置一下
在網站的首頁中進行設置,選中“Set LOGIN form's action tag to an error page”
進行自動關聯
Tools -> Rcording Options
設置完成后錄制登陸--退出過程
利用LR自帶的自動關聯進行關聯
常見的需要關聯的情景
登陸操作
先查后修改,先查后刪除
并發控制:防止兩個用戶同時進行修改或刪除一條記錄
文章來源于領測軟件測試網 http://www.kjueaiud.com/