loadrunner自學(xué)以及問(wèn)題解答1-創(chuàng)新互聯(lián)

loadrunner自學(xué)以及問(wèn)題解答1

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),都安網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:都安等地區(qū)。都安做網(wǎng)站價(jià)格咨詢:13518219792

視頻匯總首頁(yè):https://edu.51cto.com/lecturer/4626073.html

1、LR 腳本為空的解決方法:

去掉ie設(shè)置中的第三方支持取消掉

在系統(tǒng)屬性-高級(jí)-性能-數(shù)據(jù)執(zhí)行保護(hù)中,添加loadrunner安裝目錄中的vugen.exe文件.

有可能是由于錄制的URL地址采用的是localhost的問(wèn)題,改成分配的IP地址或127.0.0.1試試。

2、插入文本檢查點(diǎn)步驟時(shí),使用web_reg_find,通常TextPfx和TextSfx中會(huì)包含雙引號(hào),需要進(jìn)行轉(zhuǎn)義(用斜杠),例如:

      web_reg_find("Search=Body",

             "SaveCount=Welcome",

            "TextPfx=歡迎",

             "TextSfx=",

             LAST)

3、LoadRunner錄制腳本時(shí)為什么不彈出IE瀏覽器?

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

啟動(dòng)瀏覽器,打開Internet選項(xiàng)對(duì)話框,切換到高級(jí)標(biāo)簽,去掉“啟用第三方瀏覽器擴(kuò)展(需要重啟動(dòng))”的勾選,然后再次運(yùn)行VuGen即可解決問(wèn)題

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

4、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”模式來(lái)錄制腳本;而沒(méi)有基于瀏覽器的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)行錄制。

5、運(yùn)行時(shí)的Pacing設(shè)置主要影響什么?

    Pacing主要用來(lái)設(shè)置重復(fù)迭代腳本的間隔時(shí)間。共有三種方法:

A:上次迭代結(jié)束后立刻開始、 B:上次迭代結(jié)束后等待固定時(shí)間、C:按固定或隨機(jī)的時(shí)間間隔開始執(zhí)行新的迭代。

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

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

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

7、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í)行前面的過(guò)程。

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

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

9、在LoadRunner腳本如何輸出當(dāng)前系統(tǒng)時(shí)間?

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

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

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

10、一些Web虛擬用戶腳本錄制后立刻回放沒(méi)有任何問(wèn)題,但是當(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ò)誤。

11、虛擬客戶腳本“Run-time Setting”中的線程和進(jìn)程運(yùn)行方式的區(qū)別?

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

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

12、在Controller中運(yùn)行Web相關(guān)測(cè)試場(chǎng)景時(shí),經(jīng)常會(huì)有很多超時(shí)錯(cuò)誤提示,如何處理這類問(wèn)題?

這主要有腳本的默認(rèn)超時(shí)設(shè)置引起。當(dāng)回放Web腳本時(shí),有時(shí)候由于服務(wù)器響應(yīng)時(shí)間較長(zhǎng),會(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)值。

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

在Windows計(jì)算機(jī)的標(biāo)準(zhǔn)設(shè)置下,操作系統(tǒng)的默認(rèn)限制只能使用幾百個(gè)Vuser,這個(gè)限制與CPU或內(nèi)存無(wú)關(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ù)值。

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

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

 loadruner報(bào)錯(cuò):Error -27728: Step download timeout (120 seconds)如何解決語(yǔ)法檢查通過(guò),但是在并發(fā)執(zhí)行一個(gè)查詢時(shí)候報(bào)錯(cuò)Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s),                                 請(qǐng)問(wèn)有啥子解決方法,我使用web_set_timeout ,好象不起作用,直接在option中設(shè)置timeout時(shí)間為600,(單位應(yīng)該是秒吧)還是沒(méi)有起作用,結(jié)果都還是提示(120seconds),說(shuō)明還是以120秒來(lái)判斷的;使用lrs_set_recv_timeout,語(yǔ)法檢查不過(guò),說(shuō)明庫(kù)函數(shù)里面沒(méi)有這個(gè)函數(shù)。嘗試步驟:設(shè)置超時(shí)時(shí)間到600秒,回放還是出錯(cuò)。后來(lái)我設(shè)置了runt time setting中的internet protocol-preferences中的advaced區(qū)域有一個(gè)winlnet replay instead of sockets選項(xiàng),選項(xiàng)后再回放就成功了。

  首先LR是通過(guò)Microsoft WinInet DLL去錄制web協(xié)議的!但是在Control運(yùn)行的時(shí)候它默認(rèn)通過(guò)socket去模擬請(qǐng)求,因?yàn)檫@些可以真實(shí)的模擬帶寬,而采用Microsoft WinInet DLL通過(guò)這個(gè)DLL去訪問(wèn)網(wǎng)卡方式去模擬帶寬,使得模擬不是很精確!而且也不支持unix的應(yīng)用,但是使用這個(gè)確實(shí)有時(shí)無(wú)法處理winnet Dll的一些請(qǐng)求,我認(rèn)為是它的一些BUG,比如說(shuō):回放時(shí)它會(huì)檢查Content-Length,但是網(wǎng)頁(yè)支持receive more data時(shí),這時(shí)socket模擬會(huì)一直等待直到timeout!先說(shuō)了一些優(yōu)缺點(diǎn),最后回到這個(gè)問(wèn)題!這個(gè)問(wèn)題分兩個(gè)方面分析:

 第一:你要明白web_set_timeout()這個(gè)函數(shù)的適用范圍!比如說(shuō)一個(gè)web_submit_data()中實(shí)際涵蓋了10個(gè)對(duì)Server 端的請(qǐng)求,這個(gè)函數(shù)是針對(duì)10個(gè)請(qǐng)求的總和時(shí)間的?。▌e犯低級(jí)錯(cuò)誤,timeout分了connect,receive以及download三個(gè)部分:) )                                                                            第二:就是我解釋的上面的一些BUG問(wèn)題!WinInet dll在新版本中處理請(qǐng)求時(shí)可以異步的,就是不再是那種連接等待然后超時(shí)模式!但是LR用的socket是同步請(qǐng)求!只有等到timeout才會(huì)退出!microsoft已經(jīng)明確表示INTERNET_OPTION_RECEIVE_TIMEOUT 不再適用于 Microsoft Internet Explorer 5.0,顯而易見,他們處理請(qǐng)求采取了異步處理的方式!呵呵!這下大概可以圓滿解釋你的問(wèn)題了!呵呵這里,

我補(bǔ)充如下:VuGen專用的基于套接字的重播是一種可伸縮以便進(jìn)行負(fù)載測(cè)試的輕型引擎。使用線程時(shí)是準(zhǔn)確的。基于套接字的引擎不支持socks代理服務(wù)器。如果在這樣的環(huán)境中錄制,應(yīng)該使用winInet重播引擎。

   15.性能測(cè)試往往需要準(zhǔn)備大批量的數(shù)據(jù),大批量數(shù)據(jù)的生成方法有很多種,常見的有:

      (1)編寫SQL語(yǔ)句來(lái)插入數(shù)據(jù)

(2)使用DataFactory等專業(yè)的數(shù)據(jù)生成工具

      (3)通過(guò)LoadRunner錄制回放的方式重復(fù)執(zhí)行生成大批量數(shù)據(jù)

       Tips:

       使用DataFactory插入nchar數(shù)據(jù)類型的數(shù)據(jù)時(shí)會(huì)出現(xiàn)空值的情況,可以先修改數(shù)據(jù)庫(kù)的數(shù)據(jù)類型設(shè)置,插完數(shù)據(jù)后再改回來(lái)

   16.錄制腳本中包含中文,出現(xiàn)亂碼怎么辦?

          把錄制選項(xiàng)中的Support charset選中UTF-8

          錄制腳本后,切換到樹視圖中,打開相應(yīng)的腳本頁(yè)面。在右側(cè)的PageView中錄制的腳本呈現(xiàn)中文版式,但是當(dāng)切換到Server Response中,所有的中文全部換成的亂碼,如“勌缞仫訆”。

         原因是服務(wù)器端沒(méi)有把響應(yīng)的編碼設(shè)置為gb2312

在IIS中找到Web.Config文件,在….節(jié)加入后再次錄制腳本,亂碼變中文。

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

解決辦法(1):

首先設(shè)置Run-Time Settings – Browser – Browser Emulation – User-Agent

然后設(shè)置IE:

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

解決辦法(2):

使用lr_convert_string_encoding函數(shù)來(lái)轉(zhuǎn)換編碼

下面是一個(gè)使用的例子:

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測(cè)試腳本的目錄中找到參數(shù)文件,直接修改參數(shù)文件

           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啟動(dòng)VUGen時(shí)提示"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.怎樣抓取有相同左右邊界的動(dòng)態(tài)value?

怎樣抓取有相同左右邊界的動(dòng)態(tài)value?例如:

stateID="d7lg0ehmjkkm6uin3s4boei7oq">

stateID="cvopakp46ftsf8mh7l37ti3ubm">

stateID="bv9mja8gtgr39ddibm5t9163re">

web_reg_save_param里的ORD應(yīng)該怎樣設(shè)置?

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.運(yùn)行場(chǎng)景時(shí)提示“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)(出現(xiàn)個(gè)別,可以忽略)

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

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

           或者把“Step timeout caused by resources is a warning”設(shè)置為Yes,這樣下載資源超時(shí)也只是作為警告,不作為錯(cuò)誤提示,但是對(duì)于非資源的下載超時(shí),則總是會(huì)提示錯(cuò)誤的

   22.用strtok函數(shù)分割字符串

             需要在loadrunner里面獲得“15”(下面紅色高亮的部分),并做成關(guān)聯(lián)參數(shù)。

//Body response 內(nèi)容: <; 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函數(shù)切割出一個(gè)個(gè)數(shù)字,第四個(gè)數(shù)字就是要找的值

例如:

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沒(méi)有購(gòu)買webservice協(xié)議的license,只有http的,可不可以完全用http協(xié)議模擬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.在場(chǎng)景設(shè)置中不忽略思考時(shí)間,但是在查看響應(yīng)時(shí)間的時(shí)候怎樣讓LR自動(dòng)在響應(yīng)時(shí)間里減去思考時(shí)間?

         在analysis中找到了設(shè)置是否在報(bào)告中包含思考時(shí)間的地方做相應(yīng)的設(shè)置即可:

   25.LoadRunner在運(yùn)行過(guò)程中停掉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 ‘a(chǎn)lways send a message’. Because of that, I suggest to run with log level set to ‘Send message only when error occur’.

   26.測(cè)試RTMP協(xié)議應(yīng)該在LoadRunner選擇什么協(xié)議來(lái)錄制?

用flex協(xié)議

有這幾個(gè)函數(shù)可用:

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中運(yùn)行QTP腳本?

1、運(yùn)行準(zhǔn)備:

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

2)錄制需要在lr中運(yùn)行的QTP腳本,并且在QTP腳本中設(shè)置事務(wù),Services.StartTransaction "start"與Services.EndTransaction "start"

2、運(yùn)行QTP腳本

在LR中運(yùn)行時(shí)選擇QTP腳本,為QTP腳本存放目錄下文件擴(kuò)展名為.usr的文件。

注:LR中運(yùn)行QTP腳本時(shí),只能有一個(gè)Vuser,否則將報(bào)錯(cuò):

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

   28.在LR中如何忽略Socket接收數(shù)據(jù)的驗(yàn)證

在LR中對(duì)Socket進(jìn)行性能測(cè)試時(shí),LR會(huì)自己判斷l(xiāng)rs_receive回來(lái)的數(shù)據(jù)的長(zhǎng)度,而如果長(zhǎng)度不符的話會(huì)有時(shí)間延遲的情況(這是性能測(cè)試完全不能接受的事情),如果做到這一點(diǎn)呢,經(jīng)過(guò)反復(fù)嘗試,發(fā)現(xiàn)一種簡(jiǎn)單的方法(用*代替具體的長(zhǎng)度):

類似于將:

recv buf1 12

"Hello, Denny"

改為:

recv buf1 *

"Hello, Denny"

一切OK。

   29.LoadRunner9.5的Controller中不能添加Apache的監(jiān)控

    在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開發(fā)ADO腳本,提示“user-defined type not defined”

想在VB Vuser寫入模擬數(shù)據(jù)操作的過(guò)程,然后在VB Vuser里定義了這個(gè)全局變量

Private m_Conn As ADODB.Connection '連接對(duì)象

Private m_Reco As ADODB.Recordset '結(jié)果集

但是在VB Vuser中不識(shí)別這個(gè)對(duì)象,報(bào)出user-defined type not defined

需要在Run-Time 設(shè)置中的VBA部分把ADO的庫(kù)選上

如果用VB Script虛擬用戶來(lái)開發(fā)就不要,直接用CreateObject來(lái)創(chuàng)建ADO對(duì)象即可

   31.loadrunner9.5錄制腳本時(shí)出現(xiàn)c:\PROGRA~1\MICROS~1\office12\Grooveutil.DLL時(shí)出錯(cuò)內(nèi)存位置訪問(wèn)無(wú)效

             Office2007的問(wèn)題,IE加載項(xiàng)禁用Groove  GFSBrowser Helper 組件

   32.LR自帶的例子端口號(hào)怎么修改?

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

默認(rèn)的端口號(hào)是portbase+80;要把端口號(hào)改成8088,就把portionbase改為8008,保存之后就是了(8088=8008+80)。

   33.用Web_reg_find查找中文字符串時(shí)查找不到

           腳本文件里有個(gè)default.cfg,里面有個(gè)參數(shù)是 UTF8InputOutput ,將其值改為0

   34.替代IP Wizard的腳本

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

LoadRunner自帶的“IP Wizard”用起來(lái)非常麻煩,要不停的點(diǎn),重要的是最后還必須重啟系統(tǒng)生效。

于是乎寫個(gè)腳本替代之:

1. 假設(shè)客戶端IP為 192.168.10.31

2. 假設(shè)服務(wù)端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

對(duì)應(yīng)的刪除設(shè)置為:

netsh    interface    ip    del    address    本地連接   110.119.120.122

對(duì)應(yīng)服務(wù)器添加虛擬路由的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

這樣就非常方便了,不用重啟任何機(jī)器,執(zhí)行腳本就生效,再執(zhí)行腳本就取消。

   35.如何從命令行調(diào)用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.請(qǐng)問(wèn)"int64這個(gè)類型,在LR中怎么表示"。我將一段C的代碼放在LR中,LR不認(rèn)int64這個(gè)類型,怎么解決?

把那段C代碼做成DLL,然后在LR中調(diào)用

   37.LoadRunner監(jiān)控遠(yuǎn)程機(jī)器Windows資源,提示“net use failed”

解決辦法:

在被監(jiān)控機(jī)器上更改本地帳戶的共享和安全模式為經(jīng)典模式??刂泼姘?>管理工具->本地安全策略->網(wǎng)絡(luò)訪問(wèn):本地帳戶的共享和安全模式->經(jīng)典模式。

監(jiān)視連接前的準(zhǔn)備工作:

首先保證被監(jiān)視的windows系統(tǒng)開啟以下二個(gè)服務(wù)Remote Procedure Call(RPC) 和Remote Registry Service

被監(jiān)視的WINDOWS機(jī)器:右擊我的電腦,選擇管理->共享文件夾->共享 在這里面要有C$這個(gè)共享文件夾,(要是沒(méi)有自己手動(dòng)加)

然后保證在安裝LR的機(jī)器上使用運(yùn)行.輸入\\被監(jiān)視機(jī)器IP\C$ 然后輸入管理員帳號(hào)和密碼,如果能看到被監(jiān)視機(jī)器的C盤了,就說(shuō)明你得到了那臺(tái)機(jī)器的管理員權(quán)限,可以使用LR去連接了

  38.LoadRunner腳本中出現(xiàn)亂碼問(wèn)題現(xiàn)象某個(gè)鏈接或者圖片名稱為中文亂碼,腳本運(yùn)行無(wú)法通過(guò)。

錯(cuò)誤分析

腳本錄制可能采用的是URL-based script方式,如果程序定義的字符集合采用的是國(guó)際標(biāo)準(zhǔn),腳本就會(huì)出現(xiàn)亂碼現(xiàn)象。

解決辦法重新錄制腳本,在錄制腳本前,打開錄制選項(xiàng)配置對(duì)話框進(jìn)行設(shè)置,在“Recording Options”的“Advanced”選項(xiàng)里先將“Surport Charset”選中,然后選中支持“UTF-8”的選項(xiàng)。

   39.LoadRunner不執(zhí)行檢查方法錯(cuò)誤現(xiàn)象在腳本中插入函數(shù)Web_find,在腳本中設(shè)置文本以及圖像的檢查點(diǎn),但是在回放過(guò)程中并沒(méi)有對(duì)設(shè)置的檢查點(diǎn)進(jìn)行檢查,即Web_find失效。

錯(cuò)誤分析

由于檢查功能會(huì)消耗一定的資源,因此LoadRunner默認(rèn)關(guān)閉了對(duì)文本以及圖像的數(shù)據(jù)執(zhí)行保護(hù)檢查,所以在設(shè)置檢查點(diǎn)后,需要開啟檢查功能。

解決辦法打開運(yùn)行環(huán)境設(shè)置對(duì)話框進(jìn)行設(shè)置,在“Run-time Settings”的“Internet Protocol”選項(xiàng)里的“Perference”中勾選“Check”下的“Enable Image and text check”選項(xiàng)。

  需要注意的是,回放腳本時(shí)出現(xiàn)的錯(cuò)誤有時(shí)是程序自身的原因?qū)е碌?,因此在解決腳本回放問(wèn)題前必須保證程序錄制出的腳本是正確的。

40.LoadRunner超時(shí)錯(cuò)誤:在錄制Web協(xié)議腳本回放時(shí)超時(shí)情況經(jīng)常出現(xiàn),產(chǎn)生錯(cuò)誤的原因也有很多,解決的方法也不同。

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

錯(cuò)誤分析:對(duì)于HTTP協(xié)議,默認(rèn)的超時(shí)時(shí)間是120秒(可以在LoadRunner中修改),客戶端發(fā)送一個(gè)請(qǐng)求到服務(wù)器端,如果超過(guò)120秒服務(wù)器端還沒(méi)有返回結(jié)果,則出現(xiàn)超時(shí)錯(cuò)誤。

解決辦法:首先在運(yùn)行環(huán)境中對(duì)超時(shí)進(jìn)行設(shè)置,默認(rèn)的超時(shí)時(shí)間可以設(shè)置長(zhǎng)一些,再設(shè)置多次迭代運(yùn)行,如果還有超時(shí)現(xiàn)象,需要在“Runtime Setting”>“Internet Protocol:Preferences”>“Advanced”區(qū)域中設(shè)置一個(gè)“winlnet replay instead of sockets”選項(xiàng),再回放是否成功。

錯(cuò)誤現(xiàn)象 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

錯(cuò)誤分析:這種錯(cuò)誤常常是因?yàn)椴l(fā)壓力過(guò)大,服務(wù)器端太繁忙,無(wú)法及時(shí)響應(yīng)客戶端的請(qǐng)求而造成的,所以這個(gè)錯(cuò)誤是正?,F(xiàn)象,是壓力過(guò)大造成的。

如果壓力很小就出現(xiàn)這個(gè)問(wèn)題,可能是腳本某個(gè)地方有錯(cuò)誤,要仔細(xì)查看腳本,提示的錯(cuò)誤信息會(huì)定位某個(gè)具體問(wèn)題發(fā)生的位置。

解決辦法:例如上面的錯(cuò)誤現(xiàn)象問(wèn)題定位在某個(gè)URL上,需要再次運(yùn)行一下場(chǎng)景,同時(shí)在其他機(jī)器上訪問(wèn)此URL。如果不能訪問(wèn)或時(shí)間過(guò)長(zhǎng),可能是服務(wù)器或者此應(yīng)用不能支撐如此之大的負(fù)載。分析一下服務(wù)器,最好對(duì)其性能進(jìn)行優(yōu)化。

如果再次運(yùn)行場(chǎng)景后還有超時(shí)現(xiàn)象,就要在各種圖形中分析一下原因,例如可以查看是否服務(wù)器、DNS、網(wǎng)絡(luò)等方面存在問(wèn)題。

最后,增加一下運(yùn)行時(shí)的超時(shí)設(shè)置,在“Run-Time Settings”>“Internet Protocol:Preferences”中,單擊“options”,增加“HTTP-request connect timeout” 或者“HTTP-request receive”的值。

41.LoadRunner腳本中出現(xiàn)亂碼:在錄制Web協(xié)議腳本時(shí)出現(xiàn)中文亂碼,在回放腳本時(shí)會(huì)使回放停止在亂碼位置,腳本無(wú)法運(yùn)行。

錯(cuò)誤現(xiàn)象:某個(gè)鏈接或者圖片名稱為中文亂碼,腳本運(yùn)行無(wú)法通過(guò)。

錯(cuò)誤分析:腳本錄制可能采用的是URL-based script方式,如果程序定義的字符集合采用的是國(guó)際標(biāo)準(zhǔn),腳本就會(huì)出現(xiàn)亂碼現(xiàn)象。

解決辦法:重新錄制腳本,在錄制腳本前,打開錄制選項(xiàng)配置對(duì)話框進(jìn)行設(shè)置,在“Recording Options”的“Advanced”選項(xiàng)里先將“Surport Charset”選中,然后選中支持“UTF-8”的選項(xiàng)。

42.LoadRunner HTTP服務(wù)器狀態(tài)代碼:在錄制Web協(xié)議腳本回放腳本的過(guò)程中,會(huì)出現(xiàn)HTTP服務(wù)器狀態(tài)代碼,例如常見的頁(yè)面-404錯(cuò)誤提示、-500錯(cuò)誤提示。

錯(cuò)誤現(xiàn)象1:-404 Not Found服務(wù)器沒(méi)有找到與請(qǐng)求URI相符的資源,但還可以繼續(xù)運(yùn)行直到結(jié)束。

錯(cuò)誤分析:此處與請(qǐng)求URI相符的資源在錄制腳本時(shí)已經(jīng)被提交過(guò)一次,回放時(shí)不可再重復(fù)提交同樣的資源,而需要更改提交資源的內(nèi)容,每次回放一次腳本都要改變提交的數(shù)據(jù),保證模擬實(shí)際環(huán)境,造成一定的負(fù)載壓力。

解決辦法:在出現(xiàn)錯(cuò)誤的位置進(jìn)行腳本關(guān)聯(lián),在必要時(shí)插入相應(yīng)的函數(shù)。

錯(cuò)誤現(xiàn)象2:-500 Internal Server Error服務(wù)器內(nèi)部錯(cuò)誤,腳本運(yùn)行停止。

錯(cuò)誤分析:服務(wù)器碰到了意外情況,使其無(wú)法繼續(xù)回應(yīng)請(qǐng)求。

解決辦法:出現(xiàn)此錯(cuò)誤是致命的,說(shuō)明問(wèn)題很嚴(yán)重,需要從問(wèn)題的出現(xiàn)位置進(jìn)行檢查,此時(shí)需要此程序的開發(fā)人員配合來(lái)解決,而且產(chǎn)生的原因根據(jù)實(shí)際情況來(lái)定,測(cè)試人員無(wú)法單獨(dú)解決問(wèn)題,而且應(yīng)該盡快解決,以便于后面的測(cè)試。

43.LoadRunner請(qǐng)求無(wú)法找到:在錄制Web協(xié)議腳本回放腳本的過(guò)程中,會(huì)出現(xiàn)請(qǐng)求無(wú)法找到的現(xiàn)象,而導(dǎo)致腳本運(yùn)行停止。

錯(cuò)誤現(xiàn)象: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]"

這時(shí)在tree view中看不到此組件的相關(guān)URL。

錯(cuò)誤分析:所選擇的錄制腳本模式不正確,通常情況下,基于瀏覽器的Web應(yīng)用會(huì)使用“HTML-based script”模式來(lái)錄制腳本;而沒(méi)有基于瀏覽器的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)行錄制。

解決辦法:打開錄制選項(xiàng)配置對(duì)話框進(jìn)行設(shè)置,在“Recording Options”的“Internet Protocol”選項(xiàng)里的“Recording”中選擇“Recording Level”為“HTML-based script”,單擊“HTML Advanced”,選擇“Script. Type”為“A script. containing explicit”。然后再選擇使用“URL-based script”模式來(lái)錄制腳本。

44.LoadRunner不執(zhí)行檢查方法:在錄制Web協(xié)議腳本中添加了檢查方法Web_find,但是在腳本回放的過(guò)程中并沒(méi)有執(zhí)行。

錯(cuò)誤現(xiàn)象:在腳本中插入函數(shù)Web_find,在腳本中設(shè)置文本以及圖像的檢查點(diǎn),但是在回放過(guò)程中并沒(méi)有對(duì)設(shè)置的檢查點(diǎn)進(jìn)行檢查,即Web_find失效。

錯(cuò)誤分析:由于檢查功能會(huì)消耗一定的資源,因此LoadRunner默認(rèn)關(guān)閉了對(duì)文本以及圖像的檢查,所以在設(shè)置檢查點(diǎn)后,需要開啟檢查功能。

解決辦法:打開運(yùn)行環(huán)境設(shè)置對(duì)話框進(jìn)行設(shè)置,在“Run-time Settings”的“Internet Protocol”選項(xiàng)里的“Perference”中勾選“Check”下的“Enable Image and text check”選項(xiàng)。

45.LoadRunner回放Web Services協(xié)議腳本錯(cuò)誤:LoadRunner 8.0版本在錄制Web Services協(xié)議的腳本時(shí)正常,但在回放時(shí)會(huì)出現(xiàn)錯(cuò)誤,提示停止腳本運(yùn)行。

錯(cuò)誤現(xiàn)象:利用LoadRunner 8.0版本來(lái)錄制Web Services協(xié)議的腳本沒(méi)有任何錯(cuò)誤提示,回放腳本時(shí)會(huì)出現(xiàn)如下錯(cuò)誤提示“Error:server returned an incorrectly formatted SOAP response”。

錯(cuò)誤分析:出現(xiàn)此錯(cuò)誤的原因是LoadRunner8.0在錄制Web Services協(xié)議的腳本時(shí)存在一個(gè)缺陷:如果服務(wù)器的操作系統(tǒng)是中文的,VuGen會(huì)自動(dòng)將WSDL文件的頭改為,所以才會(huì)有此錯(cuò)誤提示。

解決辦法:下載兩個(gè)補(bǔ)丁,分別為“LR80WebServicesFPI_setup.exe”和“l(fā)runner_web_ services_patch_1.exe”安裝上即可。

loadrunner自學(xué)以及問(wèn)題解答1

本文名稱:loadrunner自學(xué)以及問(wèn)題解答1-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)地址:http://muchs.cn/article0/dhgpoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)頁(yè)設(shè)計(jì)公司、企業(yè)建站、企業(yè)網(wǎng)站制作、商城網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站