LoadRunner常见问题
1.LoadRunner錄制腳本時(shí)為什么不彈出IE瀏覽器?
當(dāng)一臺(tái)主機(jī)上安裝多個(gè)瀏覽器時(shí), LoadRunner 錄制腳本經(jīng)常遇到不能打開瀏覽器的情況,可以用下面的方法來解決。
啟動(dòng)瀏覽器,打開Internet選項(xiàng)對(duì)話框,切換到高級(jí)標(biāo)簽,去掉"啟用第三方瀏覽器擴(kuò)展(需要重啟動(dòng))"的勾選,然后再次運(yùn)行VuGen即可解決
????? 問題
還有就是點(diǎn)擊“我的電腦-》屬性-》高級(jí)-》性能設(shè)置-》數(shù)據(jù)執(zhí)行保護(hù)-》選擇“僅為基本W(wǎng)INDOWS程序和服務(wù)啟用DEP”
提示:通常安裝Firefox等瀏覽器后,都會(huì)勾選上面得選項(xiàng),導(dǎo)致不能正常錄制。因此建議運(yùn)行LoadRunner得主機(jī)上保持一個(gè)干凈測試環(huán)境。
?
2.錄制WEB腳本時(shí),生成的腳本中存在亂碼該如何解決?
錄制腳本前,打開錄制選項(xiàng)配置對(duì)話框Record-Options,進(jìn)入到Advanced標(biāo)簽,先勾選"Support charset",然后選擇中支持UTF-8。再次錄
?????? 制就不會(huì)出現(xiàn)中文亂碼問題了。
?
3.HTML-based script與URL-based script的腳本有什么區(qū)別?
使用"HTML-based script"的模式錄制腳本,VuGen為用戶的每個(gè)HTML操作生成單獨(dú)的步驟,這種腳本看上去比較直觀;
使用"URL-based script"模式錄制腳本時(shí),VuGen可以捕獲所有作為用戶操作結(jié)果而發(fā)送到服務(wù)器的HTTP請(qǐng)求,然后為用戶的每個(gè)請(qǐng)求分別生
?????? 成對(duì)應(yīng)方法。
通常,基于瀏覽器的Web應(yīng)用會(huì)使用"HTML-based script"模式來錄制腳本;而沒有基于瀏覽器的Web應(yīng)用、Web應(yīng)用中包含了與服務(wù)器進(jìn)行交
?????? 互的Java Applet、基于瀏覽器的應(yīng)用中包含了向服務(wù)器進(jìn)行通信的JavaScript/VBScript代碼、基于瀏覽器的應(yīng)用中使用了HTTPS安全協(xié)議,這
?????? 時(shí)使用"URL-based script"模式進(jìn)行錄制。
?
4.為什么腳本中添加了檢查方法Web-find,但是腳本回放時(shí)卻沒有執(zhí)行?
由于檢查點(diǎn)功能會(huì)耗費(fèi)一定的資源,因此LoadRunner默認(rèn)關(guān)閉了對(duì)文本及圖像的檢查。要想開啟檢查功能,必須修改運(yùn)行時(shí)的
?????? 配置Run-time Setting。
進(jìn)入"Run-time Setting"對(duì)話框,依次進(jìn)入"Internet Protocol→Preferences",勾選Checks下的"Enable Image and text check"選項(xiàng)即可。
檢查執(zhí)行結(jié)果時(shí)推薦使用web_reg_find方法。
?
5.運(yùn)行時(shí)的Pacing設(shè)置主要影響什么?
Pacing主要用來設(shè)置重復(fù)迭代腳本的間隔時(shí)間。共有三種方法:上次迭代結(jié)束后立刻開始、上次迭代結(jié)束后等待固定時(shí)間、按固定或隨機(jī)的時(shí)
????? 間間隔開始執(zhí)行新的迭代。
根據(jù)實(shí)際需要設(shè)置迭代即可。通常,沒有時(shí)間間隔會(huì)產(chǎn)生更大的壓力。
?
6.運(yùn)行時(shí)設(shè)置Log標(biāo)簽中,如果沒有勾選"Enable logging",則手工消息可以發(fā)送嗎?
Enable logging選項(xiàng)僅影響自動(dòng)日志記錄和通過lr_log_message發(fā)送的消息。即使沒有勾選,虛擬用戶腳本中如果使用
?????? lr_message、lr_output_message、lr_error_message,仍然會(huì)記錄其發(fā)出的消息。
?
7.LoadRunner 8.0版本的VuGen在錄制Web Services協(xié)議的腳本時(shí)一切正常,而回放時(shí)報(bào)出錯(cuò)誤提示"Error:server returned an incorrectly formatted SOAP response"。這時(shí)說明原因引起的?
造成這種情況的主要原因是LoadRunner 8.0的VuGen在錄制Web Service協(xié)議的腳本時(shí)存在一個(gè)缺陷:如果服務(wù)器的操作系統(tǒng)是中文的,
?????? VuGen會(huì)自動(dòng)將WSDL文件的頭改為<?xml version="1.0" encoding="zh_cn"?>,因此會(huì)有上面的錯(cuò)誤提示。
解決方法:把"LR80WebservicesFPI_setup.exe"和"lrunner_web_sevices_path_1.exe"兩個(gè)補(bǔ)丁打上即可解決。
?
8.VuGen支持Netscape的客戶證書嗎?
不支持。目前的VuGen 8.0版本中僅支持Internet Explorer的客戶端證書。錄制腳本時(shí)可以先從Netscape中導(dǎo)出所需的證書,然后將其導(dǎo)入到
?????? Internet Explorer中,并確保以相同的順序?qū)С龊蛯?dǎo)入這些證書。而且,在每臺(tái)將要錄制或運(yùn)行需要證書的Web Vuser腳本的計(jì)算機(jī)上都要重復(fù)
?????? 執(zhí)行前面的過程。
?
9.VuGen會(huì)修改錄制瀏覽器中的代理服務(wù)器設(shè)置嗎?
會(huì)修改。在開始錄制基于瀏覽器的Web Vuser腳本時(shí),VuGen首先會(huì)啟動(dòng)指定的瀏覽器。然后,VuGen會(huì)指示瀏覽器訪問VuGen代理服務(wù)器。
?????? 為此,VuGen會(huì)修改錄制瀏覽器上的代理服務(wù)器設(shè)置。默認(rèn)情況下,VuGen會(huì)立即將代理服務(wù)器設(shè)置更改為Localhost:7777。錄制之后,
?????? VuGen會(huì)將原始代理服務(wù)器設(shè)置還原到該錄制瀏覽器中。因此,在VuGen進(jìn)行錄制的過程中,不可以更改代理服務(wù)器設(shè)置,否則將無法正常
?????? 進(jìn)行。
?
10.在LoadRunner腳本如何輸出當(dāng)前系統(tǒng)時(shí)間?
LoadRunner提供了char *ctime(const time_t *time)函數(shù),調(diào)用參數(shù)為一個(gè)Long型的整數(shù)指針,用于存放返回時(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時(shí),如果進(jìn)行回放則只能成功迭代一次。為什么從第二次迭代開始發(fā)生錯(cuò)誤?
這種現(xiàn)象多是由于在"Run-time Setting"的"Browse Emulation"的設(shè)置中,勾選了"Simulate a new user on each iteration"及其下面的選項(xiàng)
????? "Clear cache on each iteration"這兩個(gè)選項(xiàng)的含義是每次迭代時(shí)模擬一個(gè)新的用戶及每次迭代時(shí)清除緩存。
由于腳本迭代時(shí),init和end只能執(zhí)行一次,如果每次迭代都模擬一個(gè)新的用戶并清除緩存,則用戶登錄信息將一并清除,因此迭代時(shí)可能會(huì)發(fā)
?????? 生錯(cuò)誤。
?
12.虛擬客戶腳本"Run-time Setting"中的線程和進(jìn)程運(yùn)行方式的區(qū)別?
如果選擇"Run Vuser as a process",則場景運(yùn)行時(shí)會(huì)為每一個(gè)虛擬用戶創(chuàng)建一個(gè)進(jìn)程;選擇"Run Vuser as a thread"則將每個(gè)虛擬用戶作為一
?????? 個(gè)線程來運(yùn)行,在任務(wù)管理器中只看到一個(gè)mmdrv.exe,這種方式的運(yùn)行效率更高,能造成更大的壓力,時(shí)默認(rèn)選項(xiàng)。
另外,如果啟用了IP欺騙功能,則先在Controller中選中Tools菜單下的"Expert Mode",然后將Tools菜單下的"Options>General"標(biāo)簽頁中的IP
?????? 地址分配方式也設(shè)置為與Vuser運(yùn)行方式一致,同為線程或進(jìn)程方式。
?
13.在Controller中運(yùn)行Web相關(guān)測試場景時(shí),經(jīng)常會(huì)有很多超時(shí)錯(cuò)誤提示,如何處理這類問題?
這主要有腳本的默認(rèn)超時(shí)設(shè)置引起。當(dāng)回放Web腳本時(shí),有時(shí)候由于服務(wù)器響應(yīng)時(shí)間較長,會(huì)產(chǎn)生超時(shí)的錯(cuò)誤。這時(shí)需要修改腳本的運(yùn)行時(shí)
?????? 配置。
進(jìn)入"Run-time Setting"對(duì)話框后,依次進(jìn)入"Internet Protocol→Preference"。然后點(diǎn)擊"Options…"按鈕,進(jìn)入高級(jí)設(shè)置對(duì)話框,可以修改各類
?????? 超時(shí)設(shè)置的默認(rèn)值。
?
14.為什么Windows系統(tǒng)中的CPU、內(nèi)存等資源仍然充足,但是模擬的用戶數(shù)量卻上不去?
在Windows計(jì)算機(jī)的標(biāo)準(zhǔn)設(shè)置下,操作系統(tǒng)的默認(rèn)限制只能使用幾百個(gè)Vuser,這個(gè)限制與CPU或內(nèi)存無關(guān),主要是操作系統(tǒng)本身規(guī)定了默認(rèn)
?????? 的最大線程數(shù)所導(dǎo)致。要想突破Windows這個(gè)限制,須修改Windows注冊(cè)表。以Windows XP Professional為例。
(1)打開注冊(cè)表后,進(jìn)入注冊(cè)表項(xiàng)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定義每個(gè)桌面堆得大小。
(3)將yyyy的設(shè)置從3072更改為8192(即8MB),增加SharedSection參數(shù)值。
通過對(duì)注冊(cè)表的更改,系統(tǒng)將允許運(yùn)行更多的線程,因而可以在計(jì)算機(jī)上運(yùn)行更多的Vuser。這意味著能夠模擬的最大并發(fā)用戶數(shù)量將不受
?????? Windows操作系統(tǒng)的限制,而只受硬件和內(nèi)部可伸縮性限制的約束。
?
15.Controller中設(shè)置了用戶并發(fā)數(shù)量,但是運(yùn)行時(shí)為何初始化的用戶數(shù)量少于實(shí)際數(shù)量?
主要時(shí)設(shè)置問題。在Tools→options→Run-time setting中可以設(shè)置每次最多初始化的虛擬用戶。如果需要100個(gè)并發(fā)用戶,則將該值設(shè)置為大于
?????? 100的數(shù)值。另外,注意LoadRunner相關(guān)協(xié)議License的更新,確保使用的License能夠允許所需要的并發(fā)用戶數(shù)量。
?
16.如何讓場景的用戶執(zhí)行發(fā)生錯(cuò)誤繼續(xù)運(yùn)行,以保證不間斷進(jìn)行壓力測試?
用VuGen打開虛擬用戶腳本后,進(jìn)入"Run-time Settings"對(duì)話框后,依次進(jìn)入"General→Miscellaneous",可以看到Miscellaneous設(shè)置中關(guān)于
?????? "Error Handling"的配置。勾選"Continue on error"即可讓虛擬用戶發(fā)生錯(cuò)誤繼續(xù)運(yùn)行。
?
17.為什么.NET虛擬用戶有時(shí)不能在遠(yuǎn)程主機(jī)執(zhí)行?
主要時(shí)LoadRunner的版本問題。根據(jù)筆者的經(jīng)驗(yàn),如果是Microsoft Visual Studio 2005開發(fā)的虛擬用戶,同時(shí)LoadRunner客戶端的版本低于
?????? 8.1,執(zhí)行Controller的主機(jī)將會(huì)發(fā)生錯(cuò)誤。
因此要想正確的運(yùn)行Microsoft Visual Studio 2005開發(fā)的.NET虛擬用戶,客戶端最好裝8.1以上的版本,Controller的主機(jī)則安裝8.0和8.1兩個(gè)版本
?????? 均可。此外,產(chǎn)生壓力的 LoadRunner客戶端上預(yù)先應(yīng)該安裝.NET運(yùn)行環(huán)境,如果Microsoft Visual Studio 2005開發(fā)的是.NET虛擬用戶,則應(yīng)該
?????? 安裝Microsoft .NET Framework SDK v2.0。
?
18.測試分析結(jié)果中會(huì)統(tǒng)計(jì)Action時(shí)間,而實(shí)際上可能并不須要這些數(shù)據(jù),如何只顯示自己定義的用戶事務(wù)?
進(jìn)入腳本的運(yùn)行時(shí)設(shè)置,依次進(jìn)入General→Miscellaneous。默認(rèn)情況下,自動(dòng)事務(wù)配置"Automatic Transactions"下有兩個(gè)選項(xiàng):第一個(gè)是把腳
?????? 本的Action部分定義為一個(gè)事務(wù);第二個(gè)時(shí)把腳本的每一部分定義為一個(gè)事務(wù)。去掉這兩個(gè)勾選后,測試結(jié)果將會(huì)只顯示自己定義的用戶事務(wù)。
?
19.測試結(jié)果中,Summary和平均事務(wù)響應(yīng)時(shí)間圖里的各個(gè)事務(wù)的最大值、平均值、最小值為什么顯示不一樣?
主要是受采樣時(shí)間的影響。Summary里的事務(wù)平均響應(yīng)時(shí)間是根據(jù)整個(gè)場景執(zhí)行過程得到的數(shù)據(jù)計(jì)算所得,最大值與最小值也是從整個(gè)場景中得
?????? 到的。平均事務(wù)響應(yīng)時(shí)間圖主要時(shí)按照LoadRunner分析出來的采樣頻率來獲取事務(wù)響應(yīng)時(shí)間的最大值與最小值,然后計(jì)算平均值。
可以通過"Set Granularity"來修改平均事務(wù)響應(yīng)時(shí)間圖的采樣頻率。如果把"Granularity"設(shè)為場景執(zhí)行時(shí)間,則統(tǒng)計(jì)結(jié)果將會(huì)一致。
?
20.統(tǒng)計(jì)結(jié)果中的總點(diǎn)擊量Total Hits時(shí)用戶的鼠標(biāo)點(diǎn)擊次數(shù)嗎?
Total Hits不時(shí)按照用戶的鼠標(biāo)點(diǎn)擊次數(shù)來計(jì)算的,而是按照各個(gè)虛擬客戶端向后臺(tái)發(fā)起的總的請(qǐng)求數(shù)來進(jìn)行統(tǒng)計(jì)的。例如在向服務(wù)器請(qǐng)求的一個(gè)
?????? 頁面中,如果該頁面包含5個(gè)圖片,用戶只要單擊鼠標(biāo)就可以訪問該頁面,而單個(gè)虛擬用戶在LoadRunner訪問的點(diǎn)擊量為1+5=6次。
?
21.有些Web測試結(jié)果分析圖(例如每秒返回頁面數(shù))在測試結(jié)果分析圖中無法看到,如何進(jìn)行配置?
用VuGen打開虛擬用戶腳本后,進(jìn)入"Run-time Settings"對(duì)話框后,依次進(jìn)入"Internet Protocol>Preference",可以看到一些Web性能圖配置。
勾選上面得選項(xiàng)后,Controller將會(huì)在測試執(zhí)行過程中生成數(shù)據(jù),然后可在Analysis中查看相應(yīng)的性能結(jié)果分析圖。
轉(zhuǎn)載于:https://www.cnblogs.com/Roger1227/archive/2013/06/10/3131066.html
總結(jié)
以上是生活随笔為你收集整理的LoadRunner常见问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源的关系型数据持久化组件
- 下一篇: WinForm 图片变灰方法