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