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));

  }

  輸出結果爲:

  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操作系統的限制,而只受硬件和內部可伸縮性限制的約束。

 

  錄製腳本爲空

LR錄製是客戶端與服務器的數據交互,只有在有交互的時候纔可以錄製到腳本。

1. 交互方式不一樣,通過客戶端的server進行交互,在scrīpt中選擇最後一個track processes created as COM local servers  [選擇scrīpt裏的最後一個選項]. 2. 非客戶端與服務器的交互的一種操作,在頁面上點前進或後退,如果頁面是從緩存中取出來的,那麼也就沒有和服務器數據交互,所以也錄製的爲空腳本。   [windows註冊表中禁用緩存]. 3. 協議選擇錯誤,b/s不一定走http協議,還可能是https(http+ssl)。   [最基礎的錯誤].錄製出錯。

1.  選擇internet裏選項裏的連接裏的局域網設置的代理不能選,因爲LR在錄製的時候會動態選擇。
2.  網頁裏的惡意代碼,檢測的時候響應LR錄製腳本[用工具檢測惡意代碼,然後卸載惡意代碼,eg:Ad_Aweare].

  3. 防病毒軟件和防火牆,在錄製時暫時關閉。
4. 因爲LR自身原因報錯或者有些腳本不能錄製下來[錄製是最好選用scrīpt view,此時會報錯,但能寫下腳本,是因爲LR無法解析,可以手工修改,而tree view 就直接停止了。

Loadrunner不支持默認的瀏覽器

有時候,我們上網的時候,不小心會將某個瀏覽器設置爲默認的瀏覽器,而我們不知道,這個時候,我們用loadrunner進行錄製的時候,會提示loadrunner不支持系統設置的默認的瀏覽器,因此,需要我們重新選擇瀏覽器,我們可以利用Reconding optiom中的Browser選項設置支持的瀏覽器,我們還可以利用下面的方法,將IE設置爲默認的瀏覽器,因爲loadrunner是支持IE的。設置方法如下:

在IE“工具(T)”菜單→“Interner選項”→“程序”選項卡里,確保“檢查Internet Explorer是否爲默認的瀏覽器”選項打上√。然後在你啓動IE時,如果IE非默認瀏覽器就會出現提示窗是否把IE設置爲默認。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章