LoadRunner常見問題

 

1.LoadRunner錄製腳本時爲何不彈出IE瀏覽器?web

  當一臺主機上安裝多個瀏覽器時, LoadRunner 錄製腳本常常遇到不能打開瀏覽器的狀況,能夠用下面的方法來解決。瀏覽器

  啓動瀏覽器,打開Internet選項對話框,切換到高級標籤,去掉"啓用第三方瀏覽器擴展(須要重啓動)"的勾選,而後再次運行VuGen便可解決問題。緩存

  還有就是點擊「個人電腦-》屬性-》高級-》性能設置-》數據執行保護-》選擇「僅爲基本WINDOWS程序和服務啓用DEP」安全

  提示:一般安裝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請求,而後爲用戶的每一個請求分別生成對應方法。spa

  一般,基於瀏覽器的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文件的頭改成<?xml version="1.0" encoding="zh_cn"?>,所以會有上面的錯誤提示。

  解決方法:把"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)); }

  輸出結果爲:

Time in seconds since 1/1/70: 1185329968 System time and date:Wed Jul 25 10:19:28 2007

 

 

11.一些Web虛擬用戶腳本錄製後馬上回放沒有任何問題,可是當設置迭代次數大於1時,若是進行回放則只能成功迭代一次。爲何從第二次迭代開始發生錯誤?

  這種現象可能是因爲在"Run-time Setting"的"Browse Emulation"的設置中,勾選了"Simulate a new user on each iteration"及其下面的選項"Clear

cache on each iteration"這兩個選項的含義是每次迭代時模擬一個新的用戶及每次迭代時清除緩存。

  因爲腳本迭代時,init和end只能執行一次,若是每次迭代都模擬一個新的用戶並清除緩存,則用戶登陸信息將一併清除,所以迭代時可能會發生錯誤。

 

12.虛擬客戶腳本"Run-time Setting"中的線程和進程運行方式的區別?

  若是選擇"Run Vuser as a process",則場景運行時會爲每個虛擬用戶建立一個進程;選擇"Run Vuser as a thread"則將每一個虛擬用戶做爲一個線程來運

行,在任務管理器中只看到一個mmdrv.exe,這種方式的運行效率更高,能形成更大的壓力,時默認選項。

  另外,若是啓用了IP欺騙功能,則先在Controller中選中Tools菜單下的"Expert Mode",而後將Tools菜單下的"Options>General"標籤頁中的IP地址分配方式

也設置爲與Vuser運行方式一致,同爲線程或進程方式。

 

13.在Controller中運行Web相關測試場景時,常常會有不少超時錯誤提示,如何處理這類問題?

  這主要有腳本的默認超時設置引發。當回放Web腳本時,有時候因爲服務器響應時間較長,會產生超時的錯誤。這時須要修改腳本的運行時配置。

  進入"Run-time Setting"對話框後,依次進入"Internet Protocol→Preference"。而後點擊"Options…"按鈕,進入高級設置對話框,能夠修改各種超時設置的默認值。

 

14.爲何Windows系統中的CPU、內存等資源仍然充足,可是模擬的用戶數量卻上不去?

  在Windows計算機的標準設置下,操做系統的默認限制只能使用幾百個Vuser,這個限制與CPU或內存無關,主要是操做系統自己規定了默認的最大線程數所導

致。要想突破Windows這個限制,須修改Windows註冊表。以Windows XP Professional爲例。

 (1)打開註冊表後,進入註冊表項HKEY_LOCAL_MACHINE中的下列關鍵字:

System/CurrentControlSet/Control/Session Manager/SubSystems

 

 (2)找到Windows關鍵字,Windows關鍵字以下所示:

%SystemRoot%/system32/csrss.exe bjectDirectory=/Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16 SharedSection=1024,3072,512

 

  關鍵字的格式爲xxxx,yyyy,zzz。其中,xxxx定義了系統範圍堆的最大值(以KB爲單位),yyyy定義每一個桌面堆得大小。

 (3)將yyyy的設置從3072更改成8192(即8MB),增長SharedSection參數值。

  經過對註冊表的更改,系統將容許運行更多的線程,於是能夠在計算機上運行更多的Vuser。這意味着可以模擬的最大併發用戶數量將不受Windows操做系統的

限制,而只受硬件和內部可伸縮性限制的約束。

 

15.Controller中設置了用戶併發數量,可是運行時爲什麼初始化的用戶數量少於實際數量?

  主要時設置問題。在Tools→options→Run-time setting中能夠設置每次最多初始化的虛擬用戶。若是須要100個併發用戶,則將該值設置爲大於100的數

值。另外,注意LoadRunner相關協議License的更新,確保使用的License可以容許所須要的併發用戶數量。

 

16.如何讓場景的用戶執行發生錯誤繼續運行,以保證不間斷進行壓力測試?

  用VuGen打開虛擬用戶腳本後,進入"Run-time Settings"對話框後,依次進入"General→Miscellaneous",能夠看到Miscellaneous設置中關於"Error

Handling"的配置。勾選"Continue on error"便可讓虛擬用戶發生錯誤繼續運行。

 

17.爲何.NET虛擬用戶有時不能在遠程主機執行?

  主要時LoadRunner的版本問題。根據筆者的經驗,若是是Microsoft Visual Studio 2005開發的虛擬用戶,同時LoadRunner客戶端的版本低於8.1,執行Controller的主機將會發生錯誤。

  所以要想正確的運行Microsoft Visual Studio 2005開發的.NET虛擬用戶,客戶端最好裝8.1以上的版本,Controller的主機則安裝8.0和8.1兩個版本都可。

此外,產生壓力的 LoadRunner客戶端上預先應該安裝.NET運行環境,若是Microsoft Visual Studio 2005開發的是.NET虛擬用戶,則應該安裝Microsoft .NET

Framework SDK v2.0。

 

18.測試分析結果中會統計Action時間,而實際上可能並不需要這些數據,如何只顯示本身定義的用戶事務?

  進入腳本的運行時設置,依次進入General→Miscellaneous。默認狀況下,自動事務配置"Automatic Transactions"下有兩個選項:第一個是把腳本的

Action部分定義爲一個事務;第二個時把腳本的每一部分定義爲一個事務。去掉這兩個勾選後,測試結果將會只顯示本身定義的用戶事務。

 

19.測試結果中,Summary和平均事務響應時間圖裏的各個事務的最大值、平均值、最小值爲何顯示不同?

  主要是受採樣時間的影響。Summary裏的事務平均響應時間是根據整個場景執行過程獲得的數據計算所得,最大值與最小值也是從整個場景中得到的。平均事

務響應時間圖主要時按照LoadRunner分析出來的採樣頻率來獲取事務響應時間的最大值與最小值,而後計算平均值。

  能夠經過"Set Granularity"來修改平均事務響應時間圖的採樣頻率。若是把"Granularity"設爲場景執行時間,則統計結果將會一致。

 

20.統計結果中的總點擊量Total Hits時用戶的鼠標點擊次數嗎?

  Total Hits不時按照用戶的鼠標點擊次數來計算的,而是按照各個虛擬客戶端向後臺發起的總的請求數來進行統計的。例如在向服務器請求的一個頁面中,若是

該頁面包含5個圖片,用戶只要單擊鼠標就能夠訪問該頁面,而單個虛擬用戶在LoadRunner訪問的點擊量爲1+5=6次。

 

21.有些Web測試結果分析圖(例如每秒返回頁面數)在測試結果分析圖中沒法看到,如何進行配置?

  用VuGen打開虛擬用戶腳本後,進入"Run-time Settings"對話框後,依次進入"Internet Protocol>Preference",能夠看到一些Web性能圖配置。

  勾選上面得選項後,Controller將會在測試執行過程當中生成數據,而後可在Analysis中查看相應的性能結果分析圖。

相關文章
相關標籤/搜索