1.LoadRunner錄制腳本時為什么不彈出IE瀏覽器?

  當(dāng)一臺主機上安裝多個瀏覽器時,LoadRunner錄制腳本經(jīng)常遇到不能打開瀏覽器的情況,可以用下面的方法來解決。

  啟動瀏覽器,打開Internet選項對話框,切換到高級標(biāo)簽,去掉“啟用第三方瀏覽器擴展(需要重啟動)”的勾選,然后再次運行VuGen即可解決問題

  提示:通常安裝Firefox等瀏覽器后,都會勾選上面得選項,導(dǎo)致不能正常錄制。因此建議運行LoadRunner得主機上保持一個干凈的測試環(huán)境。

  2.錄制Web腳本時,生成的腳本中存在亂碼該如何解決?

  錄制腳本前,打開錄制選項配置對話框Record-Options,進入到Advanced標(biāo)簽,先勾選“Support charset”,然后選擇中支持UTF-8。再次錄制,就不會出現(xiàn)中文亂碼問題了。

  3.HTML-based script與URL-based script的腳本有什么區(qū)別?

  使用“HTML-based script”的模式錄制腳本,VuGen為用戶的每個HTML操作生成單獨的步驟,這種腳本看上去比較直觀;使用“URL-based script”模式錄制腳本時,VuGen可以捕獲所有作為用戶操作結(jié)果而發(fā)送到服務(wù)器的HTTP請求,然后為用戶的每個請求分別生成對應(yīng)方法。

  通常,基于瀏覽器的Web應(yīng)用會使用“HTML-based script”模式來錄制腳本;而沒有基于瀏覽器的Web應(yīng)用、Web應(yīng)用中包含了與服務(wù)器進行交互的Java Applet、基于瀏覽器的應(yīng)用中包含了向服務(wù)器進行通信的JavaScript/VBScript代碼、基于瀏覽器的應(yīng)用中使用了HTTPS安全協(xié)議,這時使用“URL-based script”模式進行錄制。

  4.為什么腳本中添加了檢查方法Web-find,但是腳本回放時卻沒有執(zhí)行?

  由于檢查點功能會耗費一定的資源,因此LoadRunner默認(rèn)關(guān)閉了對文本及圖像的檢查。要想開啟檢查功能,必須修改運行時的配置Run-time Setting。

  進入“Run-time Setting”對話框,依次進入“Internet Protocol→Preferences”,勾選Checks下的“Enable Image and text check”選項即可。

  檢查執(zhí)行結(jié)果時推薦使用web_reg_find方法。

  5.運行時的Pacing設(shè)置主要影響什么?

  Pacing主要用來設(shè)置重復(fù)迭代腳本的間隔時間。共有三種方法:上次迭代結(jié)束后立刻開始、上次迭代結(jié)束后等待固定時間、按固定或隨機的時間間隔開始執(zhí)行新的迭代。

  根據(jù)實際需要設(shè)置迭代即可。通常,沒有時間間隔會產(chǎn)生更大的壓力。

  6.運行時設(shè)置Log標(biāo)簽中,如果沒有勾選“Enable logging”,則手工消息可以發(fā)送嗎?

  Enable logging選項僅影響自動日志記錄和通過lr_log_message發(fā)送的消息。即使沒有勾選,虛擬用戶腳本中如果使用lr_message、lr_output_message、lr_error_message,仍然會記錄其發(fā)出的消息。

   7.LoadRunner 8.0版本的VuGen在錄制Web Services協(xié)議的腳本時一切正常,而回放時報出錯誤提示“Error:server returned an incorrectly formatted SOAP response”。這時說明原因引起的?

  造成這種情況的主要原因是LoadRunner 8.0的VuGen在錄制Web Service協(xié)議的腳本時存在一個缺陷:如果服務(wù)器的操作系統(tǒng)是中文的,VuGen會自動將WSDL文件的頭改為,因此會有上面的錯誤提示。

  解決方法:把“LR80WebservicesFPI_setup.exe”和“lrunner_web_sevices_path_1.exe”兩個補丁打上即可解決。

  8.VuGen支持Netscape的客戶證書嗎?

   不支持。目前的VuGen 8.0版本中僅支持Internet Explorer的客戶端證書。錄制腳本時可以先從Netscape中導(dǎo)出所需的證書,然后將其導(dǎo)入到Internet Explorer中,并確保以相同的順序?qū)С龊蛯?dǎo)入這些證書。而且,在每臺將要錄制或運行需要證書的Web Vuser腳本的計算機上都要重復(fù)執(zhí)行前面的過程。

  9.VuGen會修改錄制瀏覽器中的代理服務(wù)器設(shè)置嗎?

  會修改。 在開始錄制基于瀏覽器的Web Vuser腳本時,VuGen首先會啟動指定的瀏覽器。然后,VuGen會指示瀏覽器訪問VuGen代理服務(wù)器。為此,VuGen會修改錄制瀏覽器上的代 理服務(wù)器設(shè)置。默認(rèn)情況下,VuGen會立即將代理服務(wù)器設(shè)置更改為Localhost:7777。錄制之后,VuGen會將原始代理服務(wù)器設(shè)置還原到該 錄制瀏覽器中。因此,在VuGen進行錄制的過程中,不可以更改代理服務(wù)器設(shè)置,否則將無法正常進行。

  10.在LoadRunner腳本如何輸出當(dāng)前系統(tǒng)時間?

  LoadRunner提供了char *ctime(const time_t *time)函數(shù),調(diào)用參數(shù)為一個Long型的整數(shù)指針,用于存放返回時間的數(shù)值表示。

  調(diào)用語句與返回值如下示例:

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

  }

  輸出結(jié)果為:

  Time in seconds since 1/1/70: 1185329968

  System time and date:Wed Jul 25 10:19:28 2007

  11.一些Web虛擬用戶腳本錄制后立刻回放沒有任何問題,但是當(dāng)設(shè)置迭代次數(shù)大于1時,如果進行回放則只能成功迭代一次。為什么從第二次迭代開始發(fā)生錯誤?

   這種現(xiàn)象多是由于在“Run-time Setting”的“Browse Emulation”的設(shè)置中,勾選了“Simulate a new user on each iteration”及其下面的選項“Clear cache on each iteration”這兩個選項的含義是每次迭代時模擬一個新的用戶及每次迭代時清除緩存。由于腳本迭代時,init和end只能執(zhí)行一次,如果每次迭代 都模擬一個新的用戶并清除緩存,則用戶登錄信息將一并清除,因此迭代時可能會發(fā)生錯誤。

  12.虛擬客戶腳本“Run-time Setting”中的線程和進程運行方式的區(qū)別?

   如果選擇“Run Vuser as a process”,則場景運行時會為每一個虛擬用戶創(chuàng)建一個進程;選擇“Run Vuser as a thread”則將每個虛擬用戶作為一個線程來運行,在任務(wù)管理器中只看到一個mmdrv.exe,這種方式的運行效率更高,能造成更大的壓力,時默認(rèn)選 項。

  另外,如果啟用了IP欺騙功能,則先在Controller中選中Tools菜單下的“Expert Mode”,然后將Tools菜單下的“Options>General”標(biāo)簽頁中的IP地址分配方式也設(shè)置為與Vuser運行方式一致,同為線程或進程方式。

  13.在Controller中運行Web相關(guān)測試場景時,經(jīng)常會有很多超時錯誤提示,如何處理這類問題?

  這主要有腳本的默認(rèn)超時設(shè)置引起。當(dāng)回放Web腳本時,有時候由于服務(wù)器響應(yīng)時間較長,會產(chǎn)生超時的錯誤。這時需要修改腳本的運行時配置。

  進入“Run-time Setting”對話框后,依次進入“Internet Protocol→Preference”。然后點擊“Options…”按鈕,進入高級設(shè)置對話框,可以修改各類超時設(shè)置的默認(rèn)值。

  14.為什么Windows系統(tǒng)中的CPU內(nèi)存等資源仍然充足,但是模擬的用戶數(shù)量卻上不去?

   在Windows計算機的標(biāo)準(zhǔn)設(shè)置下,操作系統(tǒng)的默認(rèn)限制只能使用幾百個Vuser,這個限制與CPU或內(nèi)存無關(guān),主要是操作系統(tǒng)本身規(guī)定了默認(rèn)的最大 線程數(shù)所導(dǎo)致。要想突破Windows這個限制,須修改Windows注冊表。以Windows XP Professional為例。

  (1)打開注冊表后,進入注冊表項HKEY_LOCAL_MACHINE中的下列關(guān)鍵字:System\CurrentControlSet\Control\Session Manager\SubSystems。

  (2)找到Windows關(guān)鍵字,Windows關(guān)鍵字如下所示:

  %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關(guān)鍵字的格式為xxxx,yyyy,zzz。其中,xxxx定義了系統(tǒng)范圍堆的最大值(以KB為單位),yyyy定義每個桌面堆得大小。

  (3)將yyyy的設(shè)置從3072更改為8192(即8MB),增加SharedSection參數(shù)值。

  通過對注冊表的更改,系統(tǒng)將允許運行更多的線程,因而可以在計算機上運行更多的Vuser。這意味著能夠模擬的最大并發(fā)用戶數(shù)量將不受Windows操作系統(tǒng)的限制,而只受硬件和內(nèi)部可伸縮性限制的約束。