原創|使用教程|編輯:蔣永|2017-03-01 10:25:42.000|閱讀 523 次
概述:在運行腳本回放過程中,有時會出現錯誤,這在實際測試中是不可避免的,畢竟自動錄制生成的腳本難免會有問題,需要運行腳本進行驗證,把問題都解決后才加入到場景中進行負載測試。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在運行腳本回放過程中,有時會出現錯誤,這在實際測試中是不可避免的,畢竟自動錄制生成的腳本難免會有問題,需要運行腳本進行驗證,把問題都解決后才加入到場景中進行負載測試。下面結合常用的協議(如Web、Web Services協議)錄制的腳本進行回放時出現的問題介紹一下解決的方法。
在錄制Web協議腳本回放時超時情況經常出現,產生錯誤的原因也有很多,解決的方法也不同。
錯誤現象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。
錯誤分析:對于HTTP協議,默認的超時時間是120秒(可以在LoadRunner中修改),客戶端發送一個請求到服務器端,如果超過120秒服務器端還沒有返回結果,則出現超時錯誤。
解決辦法:首先在運行環境中對超時進行設置,默認的超時時間可以設置長一些,再設置多次迭代運行,如果還有超時現象,需要在“Runtime Setting”>“Internet Protocol:Preferences”>“Advanced”區域中設置一個“winlnet replay instead of sockets”選項,再回放是否成功。
錯誤現象2:Action.c(81):Continuing after Error -27498: Timed out while processing URL=//172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/ subOrderQuery.do
錯誤分析:這種錯誤常常是因為并發壓力過大,服務器端太繁忙,無法及時響應客戶端的請求而造成的,所以這個錯誤是正?,F象,是壓力過大造成的。
如果壓力很小就出現這個問題,可能是腳本某個地方有錯誤,要仔細查看腳本,提示的錯誤信息會定位某個具體問題發生的位置。
解決辦法:例如上面的錯誤現象問題定位在某個URL上,需要再次運行一下場景,同時在其他機器上訪問此URL。如果不能訪問或時間過長,可能是服務器或者此應用不能支撐如此之大的負載。分析一下服務器,最好對其性能進行優化。
如果再次運行場景后還有超時現象,就要在各種圖形中分析一下原因,例如可以查看是否服務器、DNS、網絡等方面存在問題。
最后,增加一下運行時的超時設置,在“Run-Time Settings”>“Internet Protocol:Preferences”中,單擊“options”,增加“HTTP-request connect timeout”或者“HTTP-request receive”的值。
在錄制Web協議腳本時出現中文亂碼,在回放腳本時會使回放停止在亂碼位置,腳本無法運行。
錯誤現象:某個鏈接或者圖片名稱為中文亂碼,腳本運行無法通過。
錯誤分析:腳本錄制可能采用的是URL-based scrīpt方式,如果程序定義的字符集合采用的是國際標準,腳本就會出現亂碼現象。
解決辦法:重新錄制腳本,在錄制腳本前,打開錄制選項配置對話框進行設置,在“Recording Options”的“Advanced”選項里先將“Surport Charset”選中,然后選中支持“UTF-8”的選項。
在錄制Web協議腳本回放腳本的過程中,會出現HTTP服務器狀態代碼, 如常見的頁面-404錯誤提示、-500錯誤提示。
錯誤現象1:-404 Not Found服務器沒有找到與請求URI相符的資源,但還可以繼續運行直到結束。
錯誤分析:此處與請求URI相符的資源在錄制腳本時已經被提交過一次,回放時不可再重復提交同樣的資源,而需要更改提交資源的內容,每次回放一次腳本都要改變提交的數據,保證模擬實際環境,造成一定的負載壓力。
解決辦法:在出現錯誤的位置進行腳本關聯,在必要時插入相應的函數。
錯誤現象2:-500 InternalServerError服務器內部錯誤,腳本運行停止。
錯誤分析:服務器碰到了意外情況,使其無法繼續回應請求。
解決辦法:出現此錯誤是致命的,說明問題很嚴重,需要從問題的出現位置進行檢查,此時需要此程序的開發人員配合來解決,而且產生的原因根據實際情況來定,測試人員無法單獨解決問題,而且應該盡快解決,以便于后面的測試。
在錄制Web協議腳本回放腳本的過程中,會出現請求無法找到的現象,而導致腳本運行停止。
錯誤現象:Action.c(41): Error -27979: Requested form. not found [MsgId: MERR-27979]
Action.c(41): web_submit_form. highest severity level was "ERROR",0 body bytes, 0 header bytes [MsgId: MMSG-27178]"
這時在tree view中看不到此組件的相關URL。
錯誤分析:所選擇的錄制腳本模式不正確,通常情況下,基于瀏覽器的Web應用會使用“HTML-based scrīpt”模式來錄制腳本;而沒有基于瀏覽器的Web應用、Web應用中包含了與服務器進行交互的JavaApplet、基于瀏覽器的應用中包含了向服務器進行通信的Javascrīpt/VBscrīpt代碼、基于瀏覽器的應用中使用HTTPS安全協議,這時則使用“URL-based scrīpt”模式進行錄制。
解決辦法:打開錄制選項配置對話框進行設置,在“Recording Options”的“Internet Protocol”選項里的“Recording”中選擇“Recording Level”為“HTML-based scrīpt”,單擊“HTML Advanced”,選擇“scrīpt Type”為“A scrīpt containing explicit”。然后再選擇使用“URL-based scrīpt”模式來錄制腳本。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn