大家好,我是小編小z,現在互聯網早已經滲透到了生活中的方方面面,大量的用戶數對軟件平臺的系統穩定性提出了更高的要求,對于一些高并發的事務,只靠人工的測試已經遠遠達不到要求,這時候,loadrunner性能測試工具就應用而生了!
在上期中小z已經說了,是一個計算機愛好者,平時喜歡瞎鼓搗一些東西玩,前不久,開始試玩起loadrunner11,一個比較老的工具,目測現在最新版本已經更新到了12版本,對win10也有了非常好的兼容性,但是小編的電腦還是停留在了win7 64位旗艦版,當然不只是為了所謂情懷,只是習慣了而已,但使用過程中卻出現了一些問題,通過查找資料,發現出問題的小伙伴不在少數,今天就著重說一下loadrunner錄制腳本時調不起瀏覽器的一些解決方案。
1.loadrunner11支持最高ie版本為ie8(其實ie9很多人也都可以使用),版本過高請自行降級;
2,.在ie中點擊工具(沒有工具選項按一下ALT)-Internet選項-高級-下拉取消啟動第三方瀏覽器對勾-應用-確定-關閉瀏覽器-重新錄制;
3.務必將默認瀏覽器設置為ie,錄制時最好關閉殺毒或者管家這些,避免引起不必要麻煩;
5.Run-time Settings中Browser Emulation點擊change設置的User-Agent值為IE,瀏覽器版本選擇最高(8.0),操作系統選擇windows;進行錄制;
6.也就是最主要的一步,經過很多的嘗試才解決。針對windows7 64位操作系統中包括有64位ie和32位ie,在錄制時務必把ie使用路徑選擇為C:\Program Files (x86)\Internet Explorer\iexplore,此時再錄制試試吧!是不是成功了呢?
在計算機世界里總有一些意想不到的問題,只要我們有適當的強迫思維,執著地尋求解決方案,找到答案,其實只是時間問題!祝所有小伙伴工作順利!
當一臺主機上安裝多個瀏覽器時,LoadRunner錄制腳本經常遇到不能打開瀏覽器的情況,可以用下面的方法來解決。
啟動瀏覽器,打開Internet選項對話框,切換到高級標簽,去掉“啟用第三方瀏覽器擴展(需要重啟動)”的勾選,然后再次運行VuGen即可解決問題
提示:通常安裝Firefox等瀏覽器后,都會勾選上面得選項,導致不能正常錄制。因此建議運行LoadRunner得主機上保持一個干凈的測試環境。
錄制腳本前,打開錄制選項配置對話框Record-Options,進入到Advanced標簽,先勾選“Support charset”,然后選擇中支持UTF-8。再次錄制,就不會出現中文亂碼問題了。
使用“HTML-basedscript”的模式錄制腳本,VuGen為用戶的每個HTML操作生成單獨的步驟,這種腳本看上去比較直觀;使用“URL-based script”模式錄制腳本時,VuGen可以捕獲所有作為用戶操作結果而發送到服務器的HTTP請求,然后為用戶的每個請求分別生成對應方法。
通常,基于瀏覽器的Web應用會使用“HTML-based script”模式來錄制腳本;而沒有基于瀏覽器的Web應用、Web應用中包含了與服務器進行交互的Java Applet、基于瀏覽器的應用中包含了向服務器進行通信的JavaScript/VBScript代碼、基于瀏覽器的應用中使用了HTTPS安全協議,這時使用“URL-basedscript”模式進行錄制。
由于檢查點功能會耗費一定的資源,因此LoadRunner默認關閉了對文本及圖像的檢查。要想開啟檢查功能,必須修改運行時的配置Run-time Setting。
進入“Run-timeSetting”對話框,依次進入“InternetProtocol→Preferences”,勾選Checks下的“Enable Image and text check”選項即可。
檢查執行結果時推薦使用web_reg_find方法。
Pacing主要用來設置重復迭代腳本的間隔時間。共有三種方法:上次迭代結束后立刻開始、上次迭代結束后等待固定時間、按固定或隨機的時間間隔開始執行新的迭代。
根據實際需要設置迭代即可。通常,沒有時間間隔會產生更大的壓力。
Enable logging選項僅影響自動日志記錄和通過lr_log_message發送的消息。即使沒有勾選,虛擬用戶腳本中如果使用lr_message、lr_output_message、lr_error_message,仍然會記錄其發出的消息。
造成這種情況的主要原因是LoadRunner8.0的VuGen在錄制Web Service協議的腳本時存在一個缺陷:如果服務器的操作系統是中文的,VuGen會自動將WSDL文件的頭改為,因此會有上面的錯誤提示。
解決方法:把“LR80WebservicesFPI_setup.exe”和“lrunner_web_sevices_path_1.exe”兩個補丁打上即可解決。
不支持。目前的VuGen8.0版本中僅支持InternetExplorer的客戶端證書。錄制腳本時可以先從Netscape中導出所需的證書,然后將其導入到Internet Explorer中,并確保以相同的順序導出和導入這些證書。而且,在每臺將要錄制或運行需要證書的Web Vuser腳本的計算機上都要重復執行前面的過程。
會修改。在開始錄制基于瀏覽器的Web Vuser腳本時,VuGen首先會啟動指定的瀏覽器。然后,VuGen會指示瀏覽器訪問VuGen代理服務器。為此,VuGen會修改錄制瀏覽器上的代理服務器設置。默認情況下,VuGen會立即將代理服務器設置更改為Localhost:7777。錄制之后,VuGen會將原始代理服務器設置還原到該錄制瀏覽器中。因此,在VuGen進行錄制的過程中,不可以更改代理服務器設置,否則將無法正常進行。
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
這種現象多是由于在“Run-timeSetting”的“BrowseEmulation”的設置中,勾選了“Simulatea new user on each iteration”及其下面的選項“Clear cache on each iteration”這兩個選項的含義是每次迭代時模擬一個新的用戶及每次迭代時清除緩存。
由于腳本迭代時,init和end只能執行一次,如果每次迭代都模擬一個新的用戶并清除緩存,則用戶登錄信息將一并清除,因此迭代時可能會發生錯誤。
如果選擇“Run Vuseras a process”,則場景運行時會為每一個虛擬用戶創建一個進程;選擇“Run Vuseras a thread”則將每個虛擬用戶作為一個線程來運行,在任務管理器中只看到一個mmdrv.exe,這種方式的運行效率更高,能造成更大的壓力,時默認選項。
另外,如果啟用了IP欺騙功能,則先在Controller中選中Tools菜單下的“Expert Mode”,然后將Tools菜單下的“Options>General”標簽頁中的IP地址分配方式也設置為與Vuser運行方式一致,同為線程或進程方式。
這主要有腳本的默認超時設置引起。當回放Web腳本時,有時候由于服務器響應時間較長,會產生超時的錯誤。這時需要修改腳本的運行時配置。
進入“Run-timeSetting”對話框后,依次進入“InternetProtocol→Preference”。然后點擊“Options…”按鈕,進入高級設置對話框,可以修改各類超時設置的默認值。
在Windows計算機的標準設置下,操作系統的默認限制只能使用幾百個Vuser,這個限制與CPU或內存無關,主要是操作系統本身規定了默認的最大線程數所導致。要想突破Windows這個限制,須修改Windows注冊表。以Windows XP Professional為例。
(1)打開注冊表后,進入注冊表項HKEY_LOCAL_MACHINE中的下列關鍵字:System\CurrentControlSet\Control\SessionManager\SubSystems。
(2)找到Windows關鍵字,Windows關鍵字如下所示:
%SystemRoot%\system32\csrss.exe bjectDirectory=\Windows
SharedSection=1024,3072,512 Windows=On SubSystemType=WindowsServerDll=basesrv,1
ServerDll=winsrv:UserServerDllInitialization,3ServerDll=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 asCOM 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設置為默認。????