LoadRunner常見問題解決方法

1.LR 腳本爲空的解決方法如下:

1.去掉ie設置中的第三方支持取消掉

2.在系統屬性-高級-性能-數據執行保護中,添加loadrunner安裝目錄中的vugen.exe文件.

有可能是由於錄製的URL地址採用的是localhost的問題,改成分配的IP地址或127.0.0.1試試。

3、插入文本檢查點步驟時,使用web_reg_find,通常TextPfx和TextSfx中會包含雙引號,需要進行轉義(用斜槓),例如:

web_reg_find("Search=Body",

"SaveCount=Welcome",

"TextPfx=歡迎",

"TextSfx=",

LAST)

 遇到flight界面爲空的解決的可能方法:

1、如果安裝了IE以外的瀏覽器,並且IE不是默認瀏覽器,則無法生成錄製腳本

2、如果錄製腳本時IE不能打開,則需要將瀏覽器的IE工具高級選項中,將“啓用第三方瀏覽器擴展”的

勾選去掉

3、lr自帶的webtours系統,如果點擊Flights選項,出現空白頁面,請檢查本機oracle的 PERL5LIB環境

2.LoadRunner錄製腳本時爲什麼不彈出IE瀏覽器?

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

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

  提示:通常安裝Firefox等瀏覽器後,都會勾選上面得選項,導致不能正常錄製。因此建議運行LoadRunner得主機上保持一個乾淨的測試環境。

3.HTML-based scriptURL-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.運行時的Pacing設置主要影響什麼?

  Pacing主要用來設置重複迭代腳本的間隔時間。共有三種方法:A:上次迭代結束後立刻開始、 B:上次迭代結束後等待固定時間、C:按固定或隨機的時間間隔開始執行新的迭代。

 根據實際需要設置迭代即可。通常,沒有時間間隔會產生更大的壓力。

   5.運行時設置Log標籤中,如果沒有勾選“Enable logging”,則手工消息可以發送嗎?

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

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

  不支持。目前的VuGen 8.0版本中僅支持Internet Explorer的客戶端證書。錄製腳本時可以先從Netscape中導出所需的證書,然後將其導入到Internet Explorer中,並確保以相同的順序導出和導入這些證書。而且,在每臺將要錄製或運行需要證書的Web Vuser腳本的計算機上都要重複執行前面的過程。

   7.VuGen會修改錄製瀏覽器中的代理服務器設置嗎?

  會修改。在開始錄製基於瀏覽器的Web Vuser腳本時,VuGen首先會啓動指定的瀏覽器。然後,VuGen會指示瀏覽器訪問VuGen代理服務器。爲此,VuGen會修改錄製瀏覽器上的代理服務器設置。默認情況下,VuGen會立即將代理服務器設置更改爲Localhost:7777。錄製之後,VuGen會將原始代理服務器設置還原到該錄製瀏覽器中。因此,在VuGen進行錄製的過程中,不可以更改代理服務器設置,否則將無法正常進行。

   8.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

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

  這種現象多是由於在“Run-time Setting”的“Browse Emulation”的設置中,勾選了“Simulate a new user on each iteration”及其下面的選項“Clear cache on each iteration”這兩個選項的含義是每次迭代時模擬一個新的用戶及每次迭代時清除緩存。

  由於腳本迭代時,init和end只能執行一次,如果每次迭代都模擬一個新的用戶並清除緩存,則用戶登錄信息將一併清除,因此迭代時可能會發生錯誤。

  10.虛擬客戶腳本“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運行方式一致,同爲線程或進程方式。

  11.Controller中運行Web相關測試場景時,經常會有很多超時錯誤提示,如何處理這類問題?

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

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

  13爲什麼Windows系統中的CPU、內存等資源仍然充足,但是模擬的用戶數量卻上不去-27796?

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

14.Error -27728: Step download timeout (120 seconds)的解決方法

loadruner報錯:Error -27728: Step download timeout (120 seconds)如何解決語法檢查通過,但是在併發執行一個查詢時候報錯Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s), 請問有啥子解決方法,我使用web_set_timeout ,好象不起作用,直接在option中設置timeout時間爲600,(單位應該是秒吧)還是沒有起作用,結果都還是提示(120seconds),說明還是以120秒來判斷的;使用lrs_set_recv_timeout,語法檢查不過,說明庫函數裏面沒有這個函數。嘗試步驟:設置超時時間到600秒,回放還是出錯。後來我設置了runt time setting中的internet protocol-preferences中的advaced區域有一個winlnet replay instead of sockets選項,選項後再回放就成功了。

首先LR是通過Microsoft WinInet DLL去錄製web協議的!但是在Control運行的時候它默認通過socket去模擬請求,因爲這些可以真實的模擬帶寬,而採用Microsoft WinInet DLL通過這個DLL去訪問網卡方式去模擬帶寬,使得模擬不是很精確!而且也不支持unix的應用,但是使用這個確實有時無法處理winnet Dll的一些請求,我認爲是它的一些BUG,比如說:回放時它會檢查Content-Length,但是網頁支持receive more data時,這時socket模擬會一直等待直到timeout!先說了一些優缺點,最後回到這個問題!這個問題分兩個方面分析:

第一:你要明白web_set_timeout()這個函數的適用範圍!比如說一個web_submit_data()中實際涵蓋了10個對Server 端的請求,這個函數是針對10個請求的總和時間的!(別犯低級錯誤,timeout分了connect,receive以及download三個部分:) ) 第二:就是我解釋的上面的一些BUG問題!WinInet dll在新版本中處理請求時可以異步的,就是不再是那種連接等待然後超時模式!但是LR用的socket是同步請求!只有等到timeout纔會退出!microsoft已經明確表示INTERNET_OPTION_RECEIVE_TIMEOUT 不再適用於 Microsoft Internet Explorer 5.0,顯而易見,他們處理請求採取了異步處理的方式!呵呵!這下大概可以圓滿解釋你的問題了!呵呵這裏,

我補充如下:VuGen專用的基於套接字的重播是一種可伸縮以便進行負載測試的輕型引擎。使用線程時是準確的。基於套接字的引擎不支持socks代理服務器。如果在這樣的環境中錄製,應該使用winInet重播引擎。

15.性能測試往往需要準備大批量的數據,大批量數據的生成方法有很多種,常見的有:

(1)編寫SQL語句來插入數據

(2)使用DataFactory等專業的數據生成工具

(3)通過LoadRunner錄製回放的方式重複執行生成大批量數據

Tips:

使用DataFactory插入nchar數據類型的數據時會出現空值的情況,可以先修改數據庫的數據類型設置,插完數據後再改回來

16.錄製腳本中包含中文,出現亂碼怎麼辦?

把錄製選項中的Support charset選中UTF-8

錄製腳本後,切換到樹視圖中,打開相應的腳本頁面。在右側的PageView中錄製的腳本呈現中文版式,但是當切換到Server Response中,所有的中文全部換成的亂碼,如“勌縗仫訆”。

原因是服務器端沒有把響應的編碼設置爲gb2312

在IIS中找到Web.Config文件,在….節加入後再次錄製腳本,亂碼變中文。

17.LoadRunner回放腳本時,在瀏覽器顯示的中文是亂碼

解決辦法(1):

首先設置Run-Time Settings – Browser – Browser Emulation – User-Agent

然後設置IE

查看-編碼-鉤上“自動選擇”和Unicode(UTF-8)。

解決辦法(2):

使用lr_convert_string_encoding函數來轉換編碼

下面是一個使用的例子:

lr_convert_string_encoding(lr_eval_string("{ReplyContents}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"ReplyMessage");

web_submit_data("postreply.aspx_2",

"Action=http://127.0.0.1/postreply.aspx?infloat=1&topicid=2&&inajax=1",

"Method=POST",

"EncType=multipart/form-data",

"RecContentType=text/xml",

"Referer=http://127.0.0.1/showtopic-2.aspx",

"Snapshot=t9.inf",

"Mode=HTML",

ITEMDATA,

"Name=iconid", "Value=0", ENDITEM,

"Name=title", "Value=", ENDITEM,

"Name=wysiwyg", "Value=0", ENDITEM,

"Name=checkbox", "Value=0", ENDITEM,

"Name=message", "Value=[localimg=180,112]1[/localimg]\r\n\r\n{ReplyMessage}", ENDITEM,

"Name=e_mediatyperadio", "Value=on", ENDITEM,

"Name=sl_attachdesc", "Value=", ENDITEM,

"Name=attachid", "Value=", ENDITEM,

"Name=attachdesc", "Value=", ENDITEM,

"Name=localid", "Value=", ENDITEM,

"Name=attachdesc", "Value=", ENDITEM,

"Name=localid", "Value=1", ENDITEM,

"Name=attachdesc", "Value=", ENDITEM,

"Name=localid", "Value=2", ENDITEM,

"Name=emailnotify", "Value=on", ENDITEM,

"Name=postreplynotice", "Value=on", ENDITEM,

"Name=postfile", "Value=", "File=Yes", ENDITEM,

"Name=postfile", "Value=D:\\\\圖片收集\\\\It's about time.JPG", "File=Yes", ENDITEM,

"Name=postfile", "Value=", "File=Yes", ENDITEM,

"Name=uploadallowmax", "Value=10", ENDITEM,

"Name=uploadallowtype", "Value=jpg,gif", ENDITEM,

"Name=thumbwidth", "Value=300", ENDITEM,

"Name=thumbheight", "Value=250", ENDITEM,

"Name=noinsert", "Value=0", ENDITEM,

LAST);

18.可以在LR測試腳本的目錄中找到參數文件,直接修改參數文件

The parameter file is stored in the script directory as .dat file extension. It can be opened with a simple text editor like Notepad as it is stored in pure text format. Therefore, you can manipulate the files via the Notepad. You can also use office applications such as Microsoft Excel or OpenOffice.org Calc to work on the file. This greatly the amount of work required for maintaining a long list of data.

19.LR9.x啓動VUGen時提示"Failed to connect to server"

After upgrading to LoadRunner 9.x I started getting a window popup which said "Failed to connect to server" every time I opened virtual user generator (vugen.exe).

The solution to this was to close virtual user generator and delete the [vugen.ini] file.

vugen.ini is found in the %systemroot% folder on your Windows PC (usually C:\WINDOWS or C:\WINNT).

Once you've deleted the file, virtual user generator will open without any issues and create a new vugen.ini file automatically.

20.怎樣抓取有相同左右邊界的動態value

怎樣抓取有相同左右邊界的動態value?例如:

stateID="d7lg0ehmjkkm6uin3s4boei7oq">

stateID="cvopakp46ftsf8mh6l37ti3ubm">

stateID="bv9mja8gtgr39ddibm5t9163re">

web_reg_save_param裏的ORD應該怎樣設置?

ORD: Indicates the ordinal position or instance of the match. The default instance is 1. If you specify "All," it saves the parameter values in an array.

例子:

char outFlightParam[50]; // The name of the parameter for correlation

char outFlightParamVal[50]; // The formatted value of outFlightParam

web_reg_save_param("outFlightVal",

"LB=outboundFlight value=", "RB=>",

"ORD=ALL",

"SaveLen=18",

LAST);

web_submit_form("reservations.pl",

"Snapshot=t4.inf",

ITEMDATA,

"Name=depart", "Value=London", ENDITEM,

"Name=departDate", "Value=11/20/2003", ENDITEM,

"Name=arrive", "Value=New York", ENDITEM,

"Name=returnDate", "Value=11/21/2003", ENDITEM,

"Name=numPassengers", "Value=1", ENDITEM,

"Name=roundtrip", "Value=", ENDITEM,

"Name=seatPref", "Value=None", ENDITEM,

"Name=seatType", "Value=Coach", ENDITEM,

"Name=findFlights.x", "Value=83", ENDITEM,

"Name=findFlights.y", "Value=16", ENDITEM,

LAST);

sprintf(outFlightParam, "{outFlightVal_%s}",

lr_eval_string("{outFlightVal_count}"));

sprintf(outFlightParamVal, "Value=%s",

lr_eval_string(outFlightParam));

lr_message("The value argument is : %s", outFlightParamVal);

web_submit_form("reservations.pl_2",

"Snapshot=t5.inf",

ITEMDATA,

"Name=outboundFlight",outFlightParamVal, ENDITEM,

"Name=reserveFlights.x", "Value=92", ENDITEM,

"Name=reserveFlights.y", "Value=10", ENDITEM,

LAST);

21.運行場景時提示“Step download timeout (120 seconds) has expired when downloading resource(s)

vuser_init.c(12): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)(出現個別,可以忽略)

vuser_init.c(12): Error -27727: Step download timeout (120 seconds) has expired when downloading resource(s). Set the "Step Timeout caused by resources is a warning" Run-Time Setting to Yes/No to have this message as a warning/error, respectively

vuser_init.c(12): Error -27796

如果覺得下載一個頁面超過2分鐘不是錯誤的話,可以在Run-Time設置中選擇Preferences->Options,修改Step download timeout(sec)的時間

或者把“Step timeout caused by resources is a warning”設置爲Yes,這樣下載資源超時也只是作爲警告,不作爲錯誤提示,但是對於非資源的下載超時,則總是會提示錯誤的

22.strtok函數分割字符串

需要在loadrunner裏面獲得“15”(下面紅色高亮的部分),並做成關聯參數。

//Body response 內容:

<; PRE>//OK[8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1

用web_reg_save_param取出“8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1”這一段,然後用strtok函數切割出一個個數字,第四個數字就是要找的值

例如:

extern char * strtok(char * string, const char * delimiters ); // Explicit declaration

char separators[] = ",";

char * token;

lr_save_string("1,2,3,4,5,6","str");

token = (char *)strtok(lr_eval_string("{str}"), separators); // Get the first token

if (!token) {

lr_output_message ("No tokens found in string!");

return( -1 );

}

while (token != NULL ) { // While valid tokens are returned

lr_output_message ("%s", token );

token = (char *)strtok(NULL, separators); // Get the next token

}

23.LoadRunner沒有購買webservice協議的license,只有http的,可不可以完全用http協議模擬webservice

可以,參考:

http://blog.testsautomation.com/2009/01/web-services-performance-using-loadrunner/

http://blog.testsautomation.com/2009/05/validating-web-service-response-with-xpath/

24.在場景設置中不忽略思考時間,但是在查看響應時間的時候怎樣讓LR自動在響應時間裏減去思考時間?

在analysis中找到了設置是否在報告中包含思考時間的地方做相應的設置即可:

25.LoadRunner在運行過程中停掉1半虛擬用戶

Another issue that I’m facing from time to time is that LoadRunner stops 50% of running users without any notification, issue, error message etc. I’ve find out that it happens only when running with log level set to ‘always send a message’. Because of that, I suggest to run with log level set to ‘Send message only when error occur’.

26.測試RTMP協議應該在LoadRunner選擇什麼協議來錄製?

用flex協議

有這幾個函數可用:

flex_rtmp_connect Connects a client to an RTMP server and sets connection options.

flex_rtmp_disconnect Disconnects a client from an RTMP server.

flex_rtmp_send Sends messages to an RTMP server.

flex_rtmp_receive Receives responses from an RTMP server

Flex can record and replay scripts involving RTMP (Real Time Messaging Protocol). In order to enable RTMP simulation, you must configure the recording options for the Flex protocol.

To enable RTMP:

1 Open the Recording Options dialog box by selecting Tools > Recording Options or clicking the Options button in the Start Recording dialog box.

2 In the Network > Port Mapping node click Options.

3 Set the Send-Receive buffer size threshold to 1500.

27.如何在LoadRunner中運行QTP腳本?

  1、運行準備:

1)勾選QTP的Tools--Options--Run的"Alow other Mercury products to run tests and components"

2)錄製需要在lr中運行的QTP腳本,並且在QTP腳本中設置事務,Services.StartTransaction "start"與Services.EndTransaction "start"

2、運行QTP腳本

在LR中運行時選擇QTP腳本,爲QTP腳本存放目錄下文件擴展名爲.usr的文件。

 注:LR中運行QTP腳本時,只能有一個Vuser,否則將報錯:

  The load generator is currently running the maximum number of Vusers of this type

28.LR中如何忽略Socket接收數據的驗證

在LR中對Socket進行性能測試時,LR會自己判斷lrs_receive回來的數據的長度,而如果長度不符的話會有時間延遲的情況(這是性能測試完全不能接受的事情),如果做到這一點呢,經過反覆嘗試,發現一種簡單的方法(用*代替具體的長度):

類似於將:

recv buf1 12

"Hello, Denny"

改爲:

recv buf1 *

"Hello, Denny"

一切OK

29.LoadRunner9.5Controller中不能添加Apache的監控

在C:\Program Files\HP\LoadRunner\dat\online_graphs中找到online_resource_graphs.rmd文件,修改[Apache]部分中的EnableInUI爲1

參考:

http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1274450165814+28353475&threadId=1229523

30.VB Vuser開發ADO腳本,提示“user-defined type not defined

想在VB Vuser寫入模擬數據操作的過程,然後在VB Vuser裏定義了這個全局變量

Private m_Conn As ADODB.Connection '連接對象

Private m_Reco As ADODB.Recordset '結果集

但是在VB Vuser中不識別這個對象,報出user-defined type not defined

需要在Run-Time 設置中的VBA部分把ADO的庫選上

如果用VB Script虛擬用戶來開發就不要,直接用CreateObject來創建ADO對象即可

31.loadrunner9.5錄製腳本時出現c:\PROGRA~1\MICROS~1\office12\Grooveutil.DLL時出錯內存位置訪問無效

Office2007的問題,IE加載項禁用Groove GFSBrowser Helper 組件

32.LR自帶的例子端口號怎麼修改?

LR自帶的例子端口號是1080,我怎麼樣把這個端口設置我自己想用的端口號8088,在什麼地方設置在LR安裝目錄下,找到Xitami.config文件,找到portbase,可以修改它(默認是1000);

默認的端口號是portbase+80;要把端口號改成8088,就把portionbase改爲8008,保存之後就是了(8088=8008+80)。

33.Web_reg_find查找中文字符串時查找不到

腳本文件裏有個default.cfg,裏面有個參數是 UTF8InputOutput ,將其值改爲0

34.替代IP Wizard的腳本

http://hi.baidu.com/higkoo/blog/item/39bbb21bc33d76dcac6e751c.html

LoadRunner自帶的“IP Wizard”用起來非常麻煩,要不停的點,重要的是最後還必須重啓系統生效。

於是乎寫個腳本替代之:

1. 假設客戶端IP爲 192.168.10.31

2. 假設服務端IP爲 192.168.10.10

3. 需要模擬的IP爲 110.119.120.122

那麼,客戶端提供添加虛擬IP的BAT腳本:

netsh interface ip add address 本地連接 110.119.120.122 255.255.0.0

對應的刪除設置爲:

netsh interface ip del address 本地連接 110.119.120.122

對應服務器添加虛擬路由的Shell腳本:

route add -host 110.119.120.122 gw 192.168.10.31

刪除路由的腳本:

route del -host 110.119.120.122 gw 192.168.10.31

這樣就非常方便了,不用重啓任何機器,執行腳本就生效,再執行腳本就取消。

35.如何從命令行調用LoadRunner腳本?

Here is the command line that you need to execute to run a VuGen script from the command prompt:

\bin\mmdrv.exe -usr

Note:

In order to get all the other options that go with the command, run mmdrv.exe from the command prompt without any options.

36.請問"int64這個類型,LR中怎麼表示"。我將一段C的代碼放在LR,LR不認int64這個類型,怎麼解決?

把那段C代碼做成DLL,然後在LR中調用

37.LoadRunner監控遠程機器Windows資源,提示“net use failed

解決辦法:

在被監控機器上更改本地帳戶的共享和安全模式爲經典模式。控制面板->管理工具->本地安全策略->網絡訪問:本地帳戶的共享和安全模式->經典模式。

監視連接前的準備工作:

首先保證被監視的windows系統開啓以下二個服務Remote Procedure Call(RPC) 和Remote Registry Service

被監視的WINDOWS機器:右擊我的電腦,選擇管理->共享文件夾->共享 在這裏面要有C$這個共享文件夾,(要是沒有自己手動加)

然後保證在安裝LR的機器上使用運行.輸入\\被監視機器IP\C$ 然後輸入管理員帳號和密碼,如果能看到被監視機器的C盤了,就說明你得到了那臺機器的管理員權限,可以使用LR去連接了

  38.LoadRunner腳本中出現亂碼問題現象某個鏈接或者圖片名稱爲中文亂碼,腳本運行無法通過。


  錯誤分析
  腳本錄製可能採用的是URL-based script方式,如果程序定義的字符集合採用的是國際標準,腳本就會出現亂碼現象。
  解決辦法重新錄製腳本,在錄製腳本前,打開錄製選項配置對話框進行設置,在“Recording Options”的“Advanced”選項裏先將“Surport Charset”選中,然後選中支持“UTF-8”的選項。

39.LoadRunner不執行檢查方法錯誤現象在腳本中插入函數Web_find,在腳本中設置文本以及圖像的檢查點,但是在回放過程中並沒有對設置的檢查點進行檢查,即Web_find失效。


  錯誤分析
  由於檢查功能會消耗一定的資源,因此LoadRunner默認關閉了對文本以及圖像的數據執行保護檢查,所以在設置檢查點後,需要開啓檢查功能。
  解決辦法打開運行環境設置對話框進行設置,在“Run-time Settings”的“Internet Protocol”選項裏的“Perference”中勾選“Check”下的“Enable Image and text check”選項。
  需要注意的是,回放腳本時出現的錯誤有時是程序自身的原因導致的,因此在解決腳本回放問題前必須保證程序錄製出的腳本是正確的。

  40.LoadRunner超時錯誤:在錄製Web協議腳本回放時超時情況經常出現,產生錯誤的原因也有很多,解決的方法也不同。

  錯誤現象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。

  錯誤分析:對於HTTP協議,默認的超時時間是120秒(可以在LoadRunner中修改),客戶端發送一個請求到服務器端,如果超過120秒服務器端還沒有返回結果,則出現超時錯誤。

解決辦法:首先在運行環境中對超時進行設置,默認的超時時間可以設置長一些,再設置多次迭代運行,如果還有超時現象,需要在“Runtime Setting”>“Internet Protocol:Preferences”>“Advanced”區域中設置一個“winlnet replay instead of sockets”選項,再回放是否成功。

  錯誤現象 2:Action.c(81):Continuing after Error -27498: Timed out while processing URL=http://172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/ subOrderQuery.do

  錯誤分析:這種錯誤常常是因爲併發壓力過大,服務器端太繁忙,無法及時響應客戶端的請求而造成的,所以這個錯誤是正常現象,是壓力過大造成的。

  如果壓力很小就出現這個問題,可能是腳本某個地方有錯誤,要仔細查看腳本,提示的錯誤信息會定位某個具體問題發生的位置。

  解決辦法:例如上面的錯誤現象問題定位在某個URL上,需要再次運行一下場景,同時在其他機器上訪問此URL。如果不能訪問或時間過長,可能是服務器或者此應用不能支撐如此之大的負載。分析一下服務器,最好對其性能進行優化。

如果再次運行場景後還有超時現象,就要在各種圖形中分析一下原因,例如可以查看是否服務器、DNS、網絡等方面存在問題。

  最後,增加一下運行時的超時設置,在“Run-Time Settings”>“Internet Protocol:Preferences”中,單擊“options”,增加“HTTP-request connect timeout” 或者“HTTP-request receive”的值。

  41.LoadRunner腳本中出現亂碼:在錄製Web協議腳本時出現中文亂碼,在回放腳本時會使回放停止在亂碼位置,腳本無法運行。

  錯誤現象:某個鏈接或者圖片名稱爲中文亂碼,腳本運行無法通過。

  錯誤分析:腳本錄製可能採用的是URL-based script方式,如果程序定義的字符集合採用的是國際標準,腳本就會出現亂碼現象。

  解決辦法:重新錄製腳本,在錄製腳本前,打開錄製選項配置對話框進行設置,在“Recording Options”的“Advanced”選項裏先將“Surport Charset”選中,然後選中支持“UTF-8”的選項。

  42.LoadRunner HTTP服務器狀態代碼:在錄製Web協議腳本回放腳本的過程中,會出現HTTP服務器狀態代碼,例如常見的頁面-404錯誤提示、-500錯誤提示。

  錯誤現象1:-404 Not Found服務器沒有找到與請求URI相符的資源,但還可以繼續運行直到結束。

  錯誤分析:此處與請求URI相符的資源在錄製腳本時已經被提交過一次,回放時不可再重複提交同樣的資源,而需要更改提交資源的內容,每次回放一次腳本都要改變提交的數據,保證模擬實際環境,造成一定的負載壓力。

解決辦法:在出現錯誤的位置進行腳本關聯,在必要時插入相應的函數。

  錯誤現象2:-500 Internal Server Error服務器內部錯誤,腳本運行停止。

  錯誤分析:服務器碰到了意外情況,使其無法繼續迴應請求。

  解決辦法:出現此錯誤是致命的,說明問題很嚴重,需要從問題的出現位置進行檢查,此時需要此程序的開發人員配合來解決,而且產生的原因根據實際情況來定,測試人員無法單獨解決問題,而且應該儘快解決,以便於後面的測試。

  43.LoadRunner請求無法找到:在錄製Web協議腳本回放腳本的過程中,會出現請求無法找到的現象,而導致腳本運行停止。

  錯誤現象:Action.c(41): Error -27979: Requested form. not found [MsgId: MERR-27979]

  Action.c(41): web_submit_form. highest severity level was "ERROR",0 body bytes, 0 header bytes [MsgId: MMSG-27178]"

  這時在tree view中看不到此組件的相關URL。

錯誤分析:所選擇的錄製腳本模式不正確,通常情況下,基於瀏覽器的Web應用會使用“HTML-based script”模式來錄製腳本;而沒有基於瀏覽器的Web應用、Web應用中包含了與服務器進行交互的Java Applet、基於瀏覽器的應用中包含了向服務器進行通信的JavaScript/VBScript代碼、基於瀏覽器的應用中使用HTTPS安全協議,這時則使用“URL-based script”模式進行錄製。

  解決辦法:打開錄製選項配置對話框進行設置,在“Recording Options”的“Internet Protocol”選項裏的“Recording”中選擇“Recording Level”爲“HTML-based script”,單擊“HTML Advanced”,選擇“Script. Type”爲“A script. containing explicit”。然後再選擇使用“URL-based script”模式來錄製腳本。

  44LoadRunner不執行檢查方法:在錄製Web協議腳本中添加了檢查方法Web_find,但是在腳本回放的過程中並沒有執行。

  錯誤現象:在腳本中插入函數Web_find,在腳本中設置文本以及圖像的檢查點,但是在回放過程中並沒有對設置的檢查點進行檢查,即Web_find失效。

  錯誤分析:由於檢查功能會消耗一定的資源,因此LoadRunner默認關閉了對文本以及圖像的檢查,所以在設置檢查點後,需要開啓檢查功能。

解決辦法:打開運行環境設置對話框進行設置,在“Run-time Settings”的“Internet Protocol”選項裏的“Perference”中勾選“Check”下的“Enable Image and text check”選項。


46.LR啓動controller報錯“transaction monitor not available

1.多是OS系統問題,修復試試或升級

2.或修復LR試試

47.Loadrunnber 報錯誤:Error -- memory violation : Exception ACCESS_VIOLATION received.的一種情況

Posted on 2011-01-05 12:12蟈蟈俊 閱讀(433) 評論(0) 編輯收藏

最近寫的一個Loadrunner腳本,最後一步是點擊“退出”按鈕退出登錄狀態,如下:

web_text_link("[退出]",

"Snapshot=t18.inf",

DESCRIPTION,

"Text=[退出]",

ACTION,

"UserAction=Click",

LAST);

return 0;

但是會報錯誤:

Action1.c(94): Error: C interpreter run time error: Action1.c (94): Error -- memory violation : Exception ACCESS_VIOLATION received.

Action1.c(94): Notify: CCI trace: Action1.c(94): web_text_link(0x02080870, 0x0208085f "Snapshot=t18.inf", 0x02080a42 "DESCRIPTION", 0x02080853, 0x02080a3b "ACTION", 0x020809de "UserAction=Click", 0x02080a6a "LAST")

Action1.c(94): Notify: CCI trace: Compiled_code(0): Action1()

經過試驗,發現是因爲 退出後有個自動跳轉。

如果退出結束代碼修改爲下面就沒有問題了。

web_text_link("[退出]",

"Snapshot=t18.inf",

DESCRIPTION,

"Text=[退出]",

ACTION,

"UserAction=Click",

LAST);

web_browser("Sync",

"Snapshot=t18.inf",

DESCRIPTION,

ACTION,

"Sync",

LAST);

return 0;

結論:

web_text_link如果有中間跳轉,不能放在代碼的最後,最後要有一個 Sync

48.Step download timeout(sec)設置

這個默認是120秒,但是經常我們要設置的更大一些,具體設置方法:Vugen--Vuser---Runtime-settings----Preferences------option,將Step download timeout(sec)默認值120s改爲自己需要的值,其次要改變HTTP-reguest connnect timeoutsec)和HTTP-reguest receive timeoutsec)也爲相應的值。

49.修改本機tcp連接數

因爲個人pc機的默認的tcp連接數只有15個(xp),所以我們在模擬虛擬多個用戶時,就會遇到tcp的連接限制,從而報錯。修改的方法:windows下運行 Patch.exe
輸入C,再輸入你要的TCP/IP連接數字(一般爲5002000)回車確認
輸入Y 回車確認。
倒計時15秒後結束。
接着再運行下Patch.exe,看連接數是不是由原來的10變成自己改了的數值。
Patch.exe
下載地址:http://www.touchboy.cn/2007/05/% ... 接數/

50.關於Error -27791: Error -27790:Error -27740:錯誤的解決方法:

錯誤如下:
Action.c(198): Error -27791: Server "www.zcpx.cn" has shut down the connection prematurely
Action.c(198): Error -27790: Failed to read data from server "www.zcpx.cn": [10053] Software caused connection
abort
Action.c(198): Error -27740: Overlapped transmission of request to "www.zcpx.cn" for URL

"http://www.zcpx.cn/userEntry.do" failed: WSA_IO_PENDING

解決辦法:
在腳本的最前面加上web_set_sockets_option("OVERLAPPED","0");

51. LR中錯誤代號爲27796的一個解決方法

錯誤如下:

52.

1A:註冊表不能訪問或寫導致的,可以恢復註冊表或卸載(清除註冊表,可以使用工具)重新安裝程序。
要啓支LR自帶的實例的服務時,出錯了,提示:端口已經被另一個服務佔用,請問一下能不能自己修改這個程序原來設定的端口啊?
2A:停止服務之後,在程序的安裝目錄\WebTours下找到xitami.cfg文件修改portbase值,注意 默認的端口號是portbase+80,portbase值是1000;要把端口號改成8088,就把portbase改爲8008,保存之後就是了(8088=8008+80)。然後重啓服務 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章