軟件測試工具LoadRunner常見問題整理 軟件測試工具
1.LoadRunner錄制腳本時為什么不彈出IE瀏覽器?
當一臺主機上安裝多個瀏覽器時,LoadRunner錄制腳本經常遇到不能打開瀏覽器的情況,可以用下面的方法來解決。
啟動瀏覽器,打開Internet選項對話框,切換到高級標簽,去掉“啟用第三方瀏覽器擴展(需要重啟動)”的勾選,然后再次運行VuGen即可解決問題
提示:通常安裝Firefox等瀏覽器后,都會勾選上面得選項,導致不能正常錄制。因此建議運行LoadRunner得主機上保持一個干凈的測試環境。
2.錄制Web腳本時,生成的腳本中存在亂碼該如何解決?
錄制腳本前,打開錄制選項配置對話框Record-Options,進入到Advanced標簽,先勾選“Support charset”,然后選擇中支持UTF-8。再次錄制,就不會出現中文亂碼問題了。
3.HTML-based script與URL-based script的腳本有什么區別?
使用“HTML-based script”的模式錄制腳本,VuGen為用戶的每個HTML操作生成單獨的步驟,這種腳本看上去比較直觀;使用“URL-based script”模式錄制腳本時,VuGen可以捕獲所有作為用戶操作結果而發送到服務器的HTTP請求,然后為用戶的每個請求分別生成對應方法。
通常,基于瀏覽器的Web應用會使用“HTML-based script”模式來錄制腳本;而沒有基于瀏覽器的Web應用、Web應用中包含了與服務器進行交互的Java Applet、基于瀏覽器的應用中包含了向服務器進行通信的JavaScript/VBScript代碼、基于瀏覽器的應用中使用了HTTPS安全協議,這時使用“URL-based script”模式進行錄制。
4.為什么腳本中添加了檢查方法Web-find,但是腳本回放時卻沒有執行?
由于檢查點功能會耗費一定的資源,因此LoadRunner默認關閉了對文本及圖像的檢查。要想開啟檢查功能,必須修改運行時的配置Run-time Setting。
進入“Run-time Setting”對話框,依次進入“Internet Protocol→Preferences”,勾選Checks下的“Enable Image and text check”選項即可。
檢查執行結果時推薦使用web_reg_find方法。
5.運行時的Pacing設置主要影響什么?
Pacing主要用來設置重復迭代腳本的間隔時間。共有三種方法:上次迭代結束后立刻開始、上次迭代結束后等待固定時間、按固定或隨機的時間間隔開始執行新的迭代。
根據實際需要設置迭代即可。通常,沒有時間間隔會產生更大的壓力。
6.運行時設置Log標簽中,如果沒有勾選“Enable logging”,則手工消息可以發送嗎?
Enable logging選項僅影響自動日志記錄和通過lr_log_message發送的消息。即使沒有勾選,虛擬用戶腳本中如果使用lr_message、lr_output_message、lr_error_message,仍然會記錄其發出的消息。
7.LoadRunner 8.0版本的VuGen在錄制Web Services協議的腳本時一切正常,而回放時報出錯誤提示“Error:server returned an incorrectly formatted SOAP response”。這時說明原因引起的?
造成這種情況的主要原因是LoadRunner 8.0的VuGen在錄制Web Service協議的腳本時存在一個缺陷:如果服務器的操作系統是中文的,VuGen會自動將WSDL文件的頭改為,因此會有上面的錯誤提示。
解決方法:把“LR80WebservicesFPI_setup.exe”和“lrunner_web_sevices_path_1.exe”兩個補丁打上即可解決。
8.VuGen支持Netscape的客戶證書嗎?
不支持。目前的VuGen 8.0版本中僅支持Internet Explorer的客戶端證書。錄制腳本時可以先從Netscape中導出所需的證書,然后將其導入到Internet Explorer中,并確保以相同的順序導出和導入這些證書。而且,在每臺將要錄制或運行需要證書的Web Vuser腳本的計算機上都要重復執行前面的過程。
9.VuGen會修改錄制瀏覽器中的代理服務器設置嗎?
會修改。在開始錄制基于瀏覽器的Web Vuser腳本時,VuGen首先會啟動指定的瀏覽器。然后,VuGen會指示瀏覽器訪問VuGen代理服務器。為此,VuGen會修改錄制瀏覽器上的代理服務器設置。默認情況下,VuGen會立即將代理服務器設置更改為Localhost:7777。錄制之后,VuGen會將原始代理服務器設置還原到該錄制瀏覽器中。因此,在VuGen進行錄制的過程中,不可以更改代理服務器設置,否則將無法正常進行。
10.在LoadRunner腳本如何輸出當前系統時間?
LoadRunner提供了char *ctime(const time_t *time)函數,調用參數為一個Long型的整數指針,用于存放返回時間的數值表示。
調用語句與返回值如下示例:
typedef long time_t;
Action()
{
time_t t;
lr_message(“Time in seconds since 1/1/70: %ld\n”,time(&t));
lr_message(“System time and date: %s”,ctime(&t));
}
原文轉自:http://www.anti-gravitydesign.com