lR关联功能总结
LR關(guān)聯(lián)功能總結(jié)
??? 一.關(guān)聯(lián)介紹:
???????? LR錄制的腳本只是忠實(shí)記錄了所有從客戶端發(fā)送到服務(wù)器端的數(shù)據(jù),并在腳本回放的時(shí)候按照錄制的順序?qū)浿葡聛淼臄?shù)據(jù)重新發(fā)送出去。但是,實(shí)際上許多的系統(tǒng)都采用SessionID或SeqID等方法來標(biāo)識(shí)不同的任務(wù)和數(shù)據(jù)報(bào),應(yīng)用在每次運(yùn)行時(shí)發(fā)送的數(shù)據(jù)并不完全相同。所以,為了讓腳本能夠支持測試的需求,就必然要用某種機(jī)制對(duì)腳本的數(shù)據(jù)進(jìn)行出來了。總之一句話:通過關(guān)聯(lián)可以在測試中保持動(dòng)態(tài)值。
?? 二.一般的關(guān)聯(lián)步驟:
??????1.從服務(wù)器返回的數(shù)據(jù)中選取需要進(jìn)行關(guān)聯(lián)的數(shù)據(jù)。
????? 2.將該數(shù)據(jù)存入腳本的一個(gè)參數(shù)中
??????3.將腳本中需要使用該數(shù)據(jù)的地方用參數(shù)來替換。
?????Tip:對(duì)于web來說,一般會(huì)用一個(gè)hidden 的 field存放。所以在可以服務(wù)器返回的記錄查找該字段值。
??? 三:關(guān)聯(lián)的目的:
???????1.簡化或優(yōu)化代碼
??????? 例如,如果依次執(zhí)行一系列的相關(guān)查詢,您的代碼可能會(huì)變得很長。為了減少代碼的大小,可以嵌套查詢,但這樣會(huì)失去準(zhǔn)確性,而代碼會(huì)變得復(fù)雜而難以理解。通過關(guān)聯(lián)語句,不需要嵌套就可以鏈接查詢。
?????? 2.用于動(dòng)態(tài)數(shù)據(jù)???????
?????? 許多應(yīng)用程序和網(wǎng)站當(dāng)前日期和時(shí)間標(biāo)識(shí)會(huì)話。如果嘗試重播腳本,該操作將會(huì)失敗,應(yīng)為當(dāng)前時(shí)間與錄制時(shí)間不同(LR自帶的WEB演示程序)。通過關(guān)聯(lián)數(shù)據(jù)可以保存動(dòng)態(tài)數(shù)據(jù),并在整個(gè)方案過程中使用這些數(shù)據(jù)。
?????四:關(guān)聯(lián)操作
???? 方法一:自動(dòng)關(guān)聯(lián)
????????1.Tools -Recording Options。
??????? 2.設(shè)置完成后錄制登陸 - 退出過程。
??????? 3.利用LR自帶的自動(dòng)關(guān)聯(lián)進(jìn)行關(guān)聯(lián)。
?????方法二:手動(dòng)關(guān)聯(lián)
??????? ?1:錄制測試腳本,錄制二遍
???????? 2:使用WinDiff工具找出兩次腳本的不同,判斷是否需要進(jìn)行關(guān)聯(lián)(Tools下的 Compare with Vuser進(jìn)行2個(gè)相同操作的腳本對(duì)比)
??????? 3:確定插入關(guān)聯(lián)的位置
????????? 4:在VIEW TREE中使用web_reg_save_param函數(shù)手動(dòng)建立關(guān)聯(lián)
????????? 5:將腳本中有用到關(guān)聯(lián)的數(shù)據(jù),用參數(shù)代替
????? 6:驗(yàn)證關(guān)聯(lián)的正確性
?????五:定位需要關(guān)聯(lián)操作
???????? 1.Vuser -Scan Script. for Correlations
???????? 2.在Server Response 中進(jìn)行比對(duì)2次服務(wù)器變化的數(shù)值。
??????六:常見的需要關(guān)聯(lián)的場景
?????????1.登錄操作。
?????????2.先查后修改,先差后刪除。
?????????3.并發(fā)控制:防止2個(gè)用戶同時(shí)修改或同時(shí)刪除一條記錄。
??????七:關(guān)聯(lián)函數(shù)模型
???????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);
本文轉(zhuǎn)載自51testing :北京-小林,想留著以后慢慢來研究!總結(jié)
- 上一篇: DataSet用法操作xml
- 下一篇: 一些杂想