LoadRunner測試指令碼的增強方法及錯誤處理
一、增強方法
1、事務
(1)事務就是一系列操作的集合。
(2)插入事務方便今後的分析。
2、引數化
(1)lr的引數化功能是為了更加真實的模擬實際使用者操作而設定的。
3、驗證網頁的內容(檢查點)
(1)執行測試時,經常要驗證在返回的頁面上是否有特定的內容。
(2)可以通過文字檢查點和影象檢查點來完成。
注意:必須要啟用文字和影象檢查點選項,否則設定的檢查點不會起作用。
4、生產除錯資訊(輸出函式)
(1)經常會需要一些輔助資訊來幫助進行指令碼的測試。
(2)如輸出函式lr_output_message、lr_error_message等。
二、錯誤處理
1、指令碼的健壯性
一個健壯的指令碼應該能夠捕獲到一些錯誤資訊,並對這些資訊進行相應的處理,否則一旦發生較大錯誤就只能退出執行了。
2、VuGen的處理機制
(1)VuGen有自己的處理方法,一般可以分為兩種:遇到錯誤,停止執行,退出執行;另一種是忽略錯誤,繼續執行下去。
(2)相關的設定可以在run-time settings裡進行。
3、lr_continue_on_error
(1)雖然可以在run-time settings裡進行設定,但是不夠靈活,可以通過lr_continue_on_error這個函式使其變得更加靈活。
(2)通過lr_continue_on_error函式可以控制Vuser指令碼特定段的錯誤處理。要標記該段,就用lr_continue_on_error(1)和lr_continue_on_error(0)語句將其括起來。
(3)使用lr_continue_on_error函式的指令碼段將會覆蓋“出現錯誤時仍繼續”的Run-time Settings執行時設定。
4、示例程式碼
Action()
{
// lr_continue_on_error(1);
Web_lin("test", "text = www.boobooke.com", LAST);
// lr_continue_on_error(0);
Lr_output_message("finished linking");
return 0;
}
Run-time Settings
Run Logic:執行次數的設定、Block的概念
Pacing:
Log:重點關注擴充套件日誌
Think time:忽略思考時間對伺服器壓力會大點,但一定要根據專案需求和客戶需求走
Additional attributes:可以新增新命令列引數項
Miscellaneous:建議在負載測試環境中,不要啟動“出現錯誤時繼續執行”和“出現錯誤時生成快照”。Vuser支援多執行緒環境,多執行緒環境主要優勢是每個負載生成器都能執行多個Vuser,只有執行緒安全協議才能按執行緒執行。
Network:使用“速度模擬”設定,可以選擇最好的模擬測試環境所需的頻寬