LoadRunner設置檢查點的幾種方法介紹
使用LoadRunner做壓力測試,大致如下幾個流程:
1、明確測試目標
2、錄製測試腳本
3、腳本優化、調試
4、場景運行
5、分析測試結果
當然這裡都是概況性的標題,但從這裡我們可以明確的是測試腳本是整個壓力測試過程中的重點步驟,如果測試腳本都不能確保正確與否,後面的測試過程就無從說起了。很多時候我們把腳本調試就簡單的認為是腳本回放沒有錯誤就認為腳本是沒有問題的,這當然不能這麼肯定,腳本調試是一個非常嚴謹的過程,我大致歸納如下幾步:
1、明確每一行腳本的作用,也就是說每一行腳本執行的功能是什麼;
2、刪減不需要的腳本語句,比如在錄製過程由於LR默認設置導致錄製之後出現很多冗餘的腳本,這些個腳本對我們的測試過程沒有用途的應該刪除掉,至於哪些是冗餘就要具體分析了,所以說腳本錄製完之後要分析腳本運行的過程,方能理解腳本執行的用途,不然在後面施壓時運行錯誤,就會開始到處找問題,而又找不出問題;
3、查找存在的關聯並進行相關設置
4、設置檢查點,設置檢查點的目的就是為了驗證頁面每次運行之後是否正確,設置檢查點的過程總要通過不能的回放來進行驗證檢查點設置是否正確。
5、通過測試目標明確腳本執行的目標事務,並添加事務;
6、對需要進行並打操作的功能設置集合點
7、根據實際情況設置ThinkTime
8、在以上所有腳本調試步驟完成之後,設置迭代次數,通過在Vuser中設置多次迭代來驗證腳本在多次循環運行時是否存在錯誤
注意:在Vuser中運行和回放腳本的過程,要密切關注replay log,也就是回放日誌,很多問題通常都暴露在回放日誌中,只不過我們沒有認真去檢查,所以沒發覺。因為大多數情況是我們在回放腳本之後只觀察回放日誌中有沒有紅色的錯誤提示信息,如果沒有我們就認為我們的腳本是ok的,其實不然,很多時候一些隱藏的錯誤就在回放日誌中可以被發現,比如回放日誌中的Warning信息,也就是警告信息,這些信息一旦你不去理會它,它將在場景運行過程中開始頻繁暴露出來,而在場景中報錯之後我們就認為可能是系統有問題或者是測試過程存在其他問題等等,而很難去考慮到是腳本的問題,是腳本在Vuser中調試就存在的問題。還有的時候一些問題在一次腳本回放中就不能被發現,他需要通過Vuser中設置多次迭代才能在回放日誌暴露出問題來,所以說我們通常的思維就是一旦測試腳本沒有一次回放沒有出現錯誤,就去場景中運行,結果在場景中哪怕是運行10個用戶都還會報錯,這就是問題的根源所在。
下面還是重點說說檢查點吧,三種常用的文本檢查web_reg_find的方法:
1、 將腳本切換到樹結構,在page view頁面上找到你要check的文本內容, 並執行滑鼠右鍵,選擇Add a text check.
2、 通過Vuesr界面去設置檢查點,如圖所示:
3、 將腳本切換回代碼界面, 在游標閃爍的上行,添加如下的代碼:
添加的代碼根據你檢查的方式不同而不同, 你可以選擇其中之一即可。
代碼一:
web_reg_find("Text=Payment Details",LAST);
註:「Payment Details」 為你要檢查的文本;
腳本執行到此處,若在頁面上找到了這幾個字元串,那腳本繼續執行下去;若沒有找到,腳本將在此報錯並且結束。
代碼二:
web_reg_find("Text=Payment Details", "SaveCount=para_count", LAST); //check 的函數
這裡是要運行的頁面腳本
if (atoi(lr_eval_string("{para_count}"))>0) //驗證是否找到了頁面上的要檢查的字元串
lr_output_message("Pass!");
else
lr_output_message("Failed!");
注意:
「Payment Details」 為你要檢查的文本;
腳本執行到此處,不管頁面上是否存在你要檢查的字元串,腳本都不會報錯,而是執行下去。
此段代碼將找到的你要檢查的字元串的個數,存為一個參數。 然後在頁面代碼的後面,通過檢查這個參數的值是否大於0,來判斷是否找到了你所要檢查的字元串。
注意:這裡的測試結果均以200狀態碼返回,其失敗的結果將在分析報告中進行分類標識。
代碼三:
web_reg_find("Text=Payment Detdils", "Fail=NotFound",LAST);或者
web_reg_find("Text=Payment Detdils", "Fail=Found",LAST);
以上兩段腳本就比較簡潔,通過查詢文本內容來決定此次運行的測試結果是否失敗。
注意:在使用檢查點的時候我們還需要注意一些問題,通常我們都要設置一些中文檢查點,但是LR默認不支持,如果你設置了中文檢查點而報錯,那你就應該注意了,在錄製腳本的時候去掉默認設置的UTF-8選擇,如下圖所示:
並且還設置啟用圖片和文本檢查點,如下圖所示:
以上就是設置檢查點的全過程,設置檢查點的目的不只是為了驗證我們的腳本沒有錯誤,而更重要的是一個規範問題,如何使得測試結果更具有說服力,那就所有的測試腳本中都添加檢查點設置。
推薦閱讀:
※Jmeter使用過程中的坑之壓測過程報錯the target server failed to respond
※LR使用說明書
※性能測試魯德——如何利用JMeter模擬超過 5 萬的並發用戶?
※介面測試|jmeter錄製web介面
※提車前的秘密,廠家居然對你的愛車做了這種事
TAG:LoadRunner | 软件测试 | 性能测试 |