插入檢查點
靠LR自動生成的腳本是不夠的,很難達到業(yè)務(wù)要求,因此需要對錄制完的腳本進行完善,使其能達到業(yè)務(wù)模擬的要求 ,這樣盡可能地使虛擬用戶模擬時更接近用戶的實際使用。
在進行壓力測試時,經(jīng)常會有頁面間數(shù)據(jù)傳遞的操作。如果在測試過程中傳遞數(shù)據(jù)的次數(shù)逐漸增多,頁面就有可能發(fā)生傳遞混亂,或者客戶端與服務(wù)器端數(shù)據(jù)傳輸被中斷、傳輸過程中產(chǎn)生了錯誤的數(shù)據(jù)等情況。為了判斷數(shù)據(jù)傳遞的正確性,LR提供了插入檢查點的方法。之前在入門篇的博客中有提到插入檢查點的原因,這里就不再細說了,大概提一下,是因為當事務(wù)的結(jié)束狀態(tài)為成功時,并不能說明事務(wù)真的做成功了,比如用錯的賬號密碼去跑腳本,事務(wù)狀態(tài)仍被置為pass,所以你們懂的了。
插入檢查 點的原理是通過檢查點函數(shù)將返回值的結(jié)果反映在controller的狀態(tài)面板上和analysis統(tǒng)計結(jié)果中。是基于LR中很多的API函數(shù)的返回值會改變腳本的運行結(jié)果。比如檢查點函數(shù)web_find,如果它檢查到的結(jié)果為空,它的返回值就為LR_FAIL,這樣整個結(jié)果置為FAIL;反之,返回值則為LR_PASS,整個結(jié)果置為PASS。
在工作原理上是在VuGen中插入Text/Image檢查點。VuGen中包含Tree view和script view兩種視圖模式,一般情況下是使用script view模式,但在插入檢查點時,一般都是在tree view模式下插入的,這樣可以保證插入檢查點的位置正確。插入檢查點有text check和image check兩種,選擇的檢查點函數(shù)也有兩個,分別為web_find和web_reg_find,下面先介紹一下這2個函數(shù),最后在關(guān)聯(lián)函數(shù)再附上詳細代碼。
一、web_find檢查點函數(shù)
檢查點函數(shù)的參數(shù)格式:
web_find("web_find",//檢查點步驟名稱 "RightOf=go to",//定義查找字符串右邊界 "LeftOf=page",//定義查找字符串左邊界 "What=home",//定義檢查字符串內(nèi)容 LAST);
該函數(shù)的作用是在頁面中查找相應(yīng)的內(nèi)容,有幾點要注意的問題:
1)只能對基于HTML模式錄制的腳本進行查找
2)該函數(shù)必須在頁面內(nèi)容顯示出來以后才能進行查找,所以該函數(shù)必須寫在查找內(nèi)容所在頁