LR檢查點
設定檢查點的目的不只是為了驗證我們的指令碼沒有錯誤,而更重要的是一個規範問題,如何使得測試結果更具有說服力,因此建議所有的測試指令碼中都添加檢查點設定
一、設定檢查點的方法
1.將指令碼切換到樹結構,在page view頁面上找到你要check的常值內容, 並執行滑鼠右鍵,選擇Add a text check.
2.將指令碼切換回代碼介面,在游標閃爍的上行,手動添加如下的代碼
web_reg_find("Text=Payment Details", "SaveCount=para_count", LAST);
這裡是要啟動並執行頁面指令碼
if (atoi(lr_eval_string("{para_count}"))>0) //驗證是否找到了頁面上的要檢查的字串
lr_output_message("Pass!");
else
lr_output_message("Failed!");
注意:
l “Payment Details” 為你要檢查的文本;
l 指令碼執行到此處,不管頁面上是否存在你要檢查的字串,指令碼都不會報錯,而是執行下去。
l 此段代碼將找到的你要檢查的字串的個數,存為一個參數。 然後在頁面代碼的後面,通過檢查這個參數的值是否大於0,來判斷是否找到了你所要檢查的字串。
l 這裡的測試結果均以200狀態代碼返回,其失敗的結果將在分析報告中進行分類標識。
//atoi()函數的作用是將一個ASCII字串轉換為整型
//lr_eval_string()函數作用是取得參數值,將字串變數中的參數值替換為當前的參數值並將這個字串返回
3. 游標停留在要插入函數的位置,在INSERT菜單中,選擇new step,在列表中選擇或尋找要插入的函數,根據提示填寫必要的參數;
二、設定檢查點時要注意
1.在使用檢查點的時候我們還需要注意一些問題,通常我們都要設定一些中文檢查點,但是LR預設不支援,如果你設定了中文檢查點而報錯,那你就應該注意了,在錄製指令碼的時候選中設定的UTF-8選擇,如所示:
2.使用文本檢查點時,需要設定啟用圖片和文本檢查點,如所示:
系統預設是不勾選該選項的。
三、檢查點指令碼運行中經常出現的錯誤
1.錯誤碼Error -27257: Pending web_reg_save_param/reg_find/create_html_param[_ex] request(s) detected and reset at the end of iteration number 1
原因:web_reg_find的位置錯了, 你將它放在某個action的最後,它的後面是 return 0, 所以出錯了
解決方案:web_reg_find位置放錯了,應該放到請求頁面前面。
2.錯誤碼:Action.c(27): Error -26366: "Text=ABC" not found for web_reg_find [MsgId: MERR-26366]
出現該問題時,需要檢查web_reg_find是否放在尋找內容的前面。
3. 錯誤碼: Action.c(22): Error -27191: "web_image_check" failed (0 occurrence(s) found.[MsgId: MERR-27191]
如果是web_find(),檢查函數的位置是否在要尋找內容的後面;如果是web_image_check(),查看該圖片的原始碼,看其是否是這個頁面上的圖片,很可能是圖片選擇錯誤,即所選圖片不屬於該頁面。
四、相關函數介紹
1. web_find()函數
web find("web_find","RighOf=a","LeftOf=b","What=name",LAST);
參數解釋:"web_find"定義該尋找函數的名稱;“LeftOf”和“RighOf=”用來定義尋找字元的左右邊界;“What=”定義尋找內容;
例如上述參數舉例中的意思就是在頁面中尋找左邊界為b,右邊界為a,內容為name的資訊;
使用該函數注意事項:該函數是在尋找頁面中的內容,所以要放在要尋找的內容的後面;該函數只能在基於HTML模式錄製的指令碼中進行尋找
2. web_reg_find()函數
web_reg_find("Search=Body","SaveCount=ddd","Test=aaa",LAST);
參數解釋: Search用來定義尋找範圍,SaveCount定義尋找計數變數名稱,該參數可以記錄在緩衝中尋找內容出現的次數,可以使用該值,來判斷要尋找的內容是否被找到;
例如上述參數舉例中的意思就是Body中尋找內容為aaa的資訊,並將出現次數記錄在變數ddd中;
使用該函數注意事項:該函數是在緩衝中尋找相應的內容,所以要放在尋找內容之前;通常情況下寫在如下六個函數之 前:Web_castom_request(); web_image(); web_link(); web_submit_data(); web_submit_form(); web_url();
提示:在該函數的參數中有個“SaveCount”,該參數可以記錄在緩衝中尋找內容出現的次數,我們可以使用該值,來判斷要尋找的內容是否被找到。
3. web_image_check()函數
web_image_check("web_image_check","Alt=","Src=",LAST);
參數解釋:“Alt”和“Src”的值直接取該圖片在網頁原始碼中相應參數的值;
經過測試,該函數用到尋找內容前面或後面,都不影響尋找結果。
五. web_find與web_reg_find函數比較
- l 這兩個函數函數類型不同,WEB_FIND是普通函數,WEB_REG_FIND是註冊函數;
- l WEB_FIND使用時必須開啟內容檢查選項,而WEB_REG_FIND則不沒有此限制;
- l WEB_FIND只能用在基於HTML模式錄製的指令碼中,而WEB_REG_FIND沒有此限制;
- l WEB_FIND是在返回的頁面中進行內容尋找,WEB_REG_FIND是在緩衝中進行尋找;
- l WEB_FIND在執行效率上不如WEB_REG_FIND;
- l WEB_FIND使用時放在檢查內容後面;而WEB_REG_FIND使用時放在檢查內容前面。
檢查點一般是在什麼情況下會使用
1.驗證假設登入是否成功
2.驗證頁面跳轉是否正確