前言
很久很久沒有更新部落格了。久到我都不記得上一次更新部落格是什麼時候,久到我們部落格主機都過期了,一度我還想停掉這個部落格。好在有simon的堅持才決定部落格繼續整下去。2023年對我來說是乙個比較折騰的一年。一年之類換了兩份工作。找工作的時候才發現理想與現實之間的差距是如此的巨大。期間經歷了落差、失望、彷徨……
最近一段時間給我們組成員培訓loadrunner,我自己也有所收穫,也就有了這篇文章
一、為什麼要使用檢查點
為什麼要使用檢查點,那就要說明一下lr如何判斷指令碼是否執行成功。
lr判斷指令碼是否執行成功是根據伺服器返回的狀態來確定的,如果伺服器返回的http狀態為 200 ok ,那麼vugen 就認為指令碼正確地執行了,並且是執行通過的。在絕大多數系統出錯時會返回錯誤頁面碼? 不會一般系統都會返回乙個訊息提示框,來提公升使用者感受。例如,「**繁忙,請稍後」。其實這個時候**已經無法正確響應使用者請求了,但是vugen 指令碼無法識別,會錯誤地認為**還能正確訪問,導致分析錯誤。所以這時需要一種檢查點函式幫助驗證請求傳送出去後,伺服器的返回是不是期望的內容,如果不是,那麼就說明伺服器返回無法提供正常的服務了。
另外,需要特別說明的是,檢查點一般跟事務結合起來使用。
二、事務結束的四種狀態
前面說到檢查點一般跟事務結合使用。這樣需要說明一下事務(transaction)。我認為事務是lr中非常非常重要的乙個概念。因為完成乙個事務所需要的時間是響應時間(trans response time),一秒鐘可以完成多少事務是tps(trans/sec)。響應時間和tps是效能測試中非常重要的兩個指標。可以通過這兩個指標來分析系統是否出現瓶頸。
lr中事務結束的時候需要帶上乙個狀態碼(transaction status)。lr中transaction status有四個, 分別為lr_pass, lr_fail, lr_auto , lr_stop。
lr_auto:事物的狀態被自動設定,如果事務執行成功,狀態設定為pass,如果執行失敗,狀態設定為fail,如果由於異常中斷,狀態被設定成stop.
lr_pass:事務如果執行成功,**的返回狀態就是pass。
lr_fail:事務如果執行失敗,**的返回狀態就是fail。
一般情況下會選擇lr_auto,讓lr自動判斷事務的狀態。可是如上面所說lr判斷指令碼是否執行成功是根據伺服器返回的狀態來確定的,也就是只要伺服器返回的http狀態為 200 ok ,事務執行後狀態總是被置為lr_pass。這樣不科學的地方在於,lr提示成功的事務你不知道實際上它到底是成功的還是失敗的。所以,這就需要檢查點了。使用只有事務執行成功才會出現的文字或者(ps:雖然檢查點我從來沒用過)來作為事務是否執行成功的標準。
三、如何新增檢查點
使用文字檢查點(下面簡稱檢查點)需要使用web_reg_find函式。函式的使用詳見lr幫助手冊,如果不會用可以下面的實戰部分。
另外說明一下如果web_reg_find查詢中文失敗,完全可以查詢英文,只要能實現檢查點功能就可以了,如果執意要查詢英文,請將record-options 中勾選support charset中的utf-8後重新錄製。
四、如何選擇檢查點
選擇什麼作為檢查點,這是困擾了很久了乙個問題。就拿登陸來說,並不是所有的系統登陸完成後系統跳轉到登陸成功的頁面。這裡這需要借助執行時檢視器(run-time viewer)來幫助我們查詢合適的檢查點。執行時檢視器在選擇工具(tools)-常規選項(general options)-顯示(display) ,選擇 開啟執行時檢視器和自動排列視窗。
LoadRunner檢查點實戰
前言 很久很久沒有更新部落格了。久到我都不記得上一次更新部落格是什麼時候,久到我們部落格主機都過期了,一度我還想停掉這個部落格。好在有simon的堅持才決定部落格繼續整下去。2013年對我來說是乙個比較折騰的一年。一年之類換了兩份 工作。找工作的時候才發現理想與現實之間的差距是如此的巨大。期間經歷了...
LoadRunner(四) 檢查點
怎麼去判斷loadrunner每個操作都是符合我們的預期呢?比如怎麼判斷登入是否成功。這時就要用到檢查點了。檢查頁面上的指定文字是否存在。以webtours這個 為例,登入成功後,會在頁面顯示賬號名。那我們就以賬號名來斷言登入是否成功 在指令碼中的登入操作前面新增乙個檢查點 注 檢查點函式必須新增在...
LoadRunner設定檢查點
指令碼建立好了,引數也替換了,接下來就是重點,指令碼的檢查項怎麼設定?1 開啟replay runtime settings internet protocol preferences,勾選enable image and text checks 2 回放指令碼,然後開啟頁面檢視 loadrunne...