LoadRunner學習知多少–檢查點

來源:互聯網
上載者:User

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.驗證頁面跳轉是否正確

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.