1.去掉ie设置中的第三方支持取消掉html
2.在系统属性-高级-性能-数据执行保护中,添加loadrunner安装目录中的vugen.exe文件node
遇到flight界面为空的解决的可能方法:一、若是安装了IE之外的浏览器,而且IE不是默认浏览器,则没法生成录制脚本二、若是录制脚本时IE不能 打开,则须要将浏览器的IE工具高级选项中,将“启用第三方浏览器扩展”的勾选去掉三、lr自带的webtours系统,若是点击Flights选项,出 现空白页面,请检查本机oracle的 PERL5LIB环境变量,个人解决办法是使用webtours的时候删除掉该变量的内容,使用oracle的时 候再填上该变量内容为何该变量会影响webtours的使用,缘由不明web
当一台主机上安装多个浏览器时,LoadRunner录制脚本常常遇到不能打开浏览器的状况,能够用下面的方法来解决。ajax
启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(须要重启动)”的勾选,而后再次运行VuGen便可解决问题数据库
提示:一般安装Firefox等浏览器后,都会勾选上面得选项,致使不能正常录制。所以建议运行LoadRunner得主机上保持一个干净的测试环境。windows
使用“HTML-based script”的模式录制脚本,VuGen为用户的每一个HTML操做生成单独的步骤,这种脚本看上去比较直观;使用 “URL-based script”模式录制脚本时,VuGen能够捕获全部做为用户操做结果而发送到服务器的HTTP请求,而后为用户的每一个请求分别 生成对应方法。浏览器
一般,基于浏览器的Web应用会使用“HTML-based script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服 务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通讯的JavaScript/VBScript代码、基于浏览器的应用中使 用了HTTPS安全协议,这时使用“URL-based script”模式进行录制。缓存
Pacing主要用来设置重复迭代脚本的间隔时间。共有三种方法:上次迭代结束后马上开始、上次迭代结束后等待固定时间、按固定或随机的时间间隔开始执行新的迭代。安全
根据实际须要设置迭代便可。一般,没有时间间隔会产生更大的压力。服务器
Enable logging选项仅影响自动日志记录和经过lr_log_message发送的消息。即便没有勾选,虚拟用户脚本中若是使用lr_message、lr_output_message、lr_error_message,仍然会记录其发出的消息。
把录制选项中的Support charset选中UTF-8
录制脚本后,切换到树视图中,打开相应的脚本页面。在右侧的PageView中录制的脚本呈现中文版式,可是当切换到Server Response中,全部的中文所有换成的乱码,如“勌缞仫訆”。
缘由是服务器端没有把响应的编码设置为gb2312
在IIS中找到Web.Config文件,在….节加 入
有多是因为录制的URL地址采用的是localhost的问题,改为分配的IP地址或127.0.0.1试试。
不支持。目前的VuGen 8.0版本中仅支持Internet Explorer的客户端证书。录制脚本时能够先从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-time Setting”的“Browse Emulation”的设置中,勾选了 “Simulate a new user on each iteration”及其下面的选项 “Clear cache on each iteration”这两个选项的含义是每次迭代时模拟一个新的用户及每次迭代时清除缓存。
因为脚本迭代时,init和end只能执行一次,若是每次迭代都模拟一个新的用户并清除缓存,则用户登陆信息将一并清除,所以迭代时可能会发生错误。
若是选择“Run Vuser as a process”,则场景运行时会为每个虚拟用户建立一个进程;选择 “Run Vuser as a thread”则将每一个虚拟用户做为一个线程来运行,在任务管理器中只看到一个mmdrv.exe,这种方式的运行效率 更高,能形成更大的压力,时默认选项。
另外,若是启用了IP欺骗功能,则先在Controller中选中Tools菜单下的“Expert Mode”,而后将Tools菜单下的“Options>General”标签页中的IP地址分配方式也设置为与Vuser运行方式一致,同为线程或进程方式。
这主要有脚本的默认超时设置引发。当回放Web脚本时,有时候因为服务器响应时间较长,会产生超时的错误。这时须要修改脚本的运行时配置。
进入“Run-time Setting”对话框后,依次进入“Internet Protocol→Preference”。而后点击“Options…”按钮,进入高级设置对话框,能够修改各种超时设置的默认值。
在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操做系统的限制,而只受硬件和内部可伸缩性限制的约束。
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选项,选项后再回放就成功了。
kernzhang解释以下(这里谢谢kernzhang,欢迎访问他的论坛:http://www.kernzhang.com):
这个问题颇有意思!呵呵!首先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重播引擎。
(1)编写SQL语句来插入数据
(2)使用DataFactory等专业的数据生成工具
(3)经过LoadRunner录制回放的方式重复执行生成大批量数据
Tips:
使用DataFactory插入nchar数据类型的数据时会出现空值的状况,能够先修改数据库的数据类型设置,插完数据后再改回来
解决办法(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);
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.
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.
怎样抓取有相同左右边界的动态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);
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
若是以为下载一个页面超过2分钟不是错误的话,能够在Run-Time设置中选择Preferences->Options,修改Step download timeout(sec)的时间
或者把“Step timeout caused by resources is a warning”设置为Yes,这样下载资源超时也只是做为警告,不做为错误提示,可是对于非资源的下载超时,则老是会提示错误的
须要在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
}
能够,参考:
http://blog.testsautomation.com/2009/01/web-services-performance-using-loadrunner/
http://blog.testsautomation.com/2009/05/validating-web-service-response-with-xpath/
在analysis中找到了设置是否在报告中包含思考时间的地方作相应的设置便可:
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’.
Sometimes LoadRunner is not recording anything while browsing using IE. I have no idea why but the fastest solution is to restart whole LR. Maybe some of you have good explanation for that?
用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.
一、运行准备:
1)勾选QTP的Tools--Options--Run的"Alow other Mercury products to run tests and components"
2)录制须要在lr中运行的QTP脚本,而且在QTP脚本中设置事务,Services.StartTransaction "start"与Services.EndTransaction "start"
二、运行QTP脚本
在LR中运行时选择QTP脚本,为QTP脚本存放目录下文件扩展名为.usr的文件。
注:LR中运行QTP脚本时,只能有一个Vuser,不然将报错:
The load generator is currently running the maximum number of Vusers of this type
在LR中对Socket进行性能测试时,LR会本身判断lrs_receive回来的数据的长度,而若是长度不符的话会有时间延迟的状况(这是性能测试彻底不能接受的事情),若是作到这一点呢,通过反复尝试,发现一种简单的方法(用*代替具体的长度):
相似于将:
recv buf1 12
"Hello, Denny"
改成:
recv buf1 *
"Hello, Denny"
一切OK。
在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
想在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对象便可
Office2007的问题,IE加载项禁用Groove GFSBrowser Helper 组件
LR自带的例子端口号是1080,我怎么样把这个端口设置我本身想用的端口号8088,在什么地方设置
在LR安装目录下,找到Xitami.config文件,找到portbase,能够修改它(默认是1000);
默认的端口号是portbase+80;
要把端口号改为8088,就把portionbase改成8008,保存以后就是了(8088=8008+80)。
脚本文件里有个default.cfg ,里面有个参数是 UTF8InputOutput ,将其值改成0
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
这样就很是方便了,不用重启任何机器,执行脚本就生效,再执行脚本就取消。
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.
把那段C代码作成DLL,而后在LR中调用
解决办法:
在被监控机器上更改本地账户的共享和安全模式为经典模式。控制面板->管理工具->本地安全策略->网络访问:本地账户的共享和安全模式->经典模式。
监视链接前的准备工做:
首先保证被监视的windows系统开启如下二个服务Remote Procedure Call(RPC) 和Remote Registry Service
被监视的WINDOWS机器:右击个人电脑,选择管理->共享文件夹->共享 在这里面要有C$这个共享文件夹,(要是没有本身手动加)
而后保证在安装LR的机器上使用运行.输入\\被监视机器IP\C$ 而后输入管理员账号和密码,若是能看到被监视机器的C盘了,就说明你获得了那台机器的管理员权限,可使用LR去链接了
web_reg_find("Search=Body",
"SaveCount=Welcome",
"TextPfx=欢迎",
"TextSfx=",
LAST);
问题二:LoadRunner脚本中出现乱码问题现象某个连接或者图片名称为中文乱码,脚本运行没法经过。
错误分析
脚本录制可能采用的是URL-based script方式,若是程序定义的字符集合采用的是国际标准,脚本就会出现乱码现象。
解决办法从新录制脚本,在录制脚本前,打开录制选项配置对话框进行设置,在“Recording Options”的“Advanced”选项里先将“Surport Charset”选中,而后选中支持“UTF-8”的选项。
问题五:LoadRunner不执行检查方法错误现象在脚本中插入函数Web_find,在脚本中设置文本以及图像的检查点,可是在回放过程当中并无对设置的检查点进行检查,即Web_find失效。
错误分析
因为检查功能会消耗必定的资源,所以LoadRunner默认关闭了对文本以及图像的检查,因此在设置检查点后,须要开启检查功能。
解决办法打开运行环境设置对话框进行设置,在“Run-time Settings”的“Internet Protocol”选项里的“Perference”中勾选“Check”下的“Enable Image and text check”选项。
须要注意的是,回放脚本时出现的错误有时是程序自身的缘由致使的,所以在解决脚本回放问题前必须保证程序录制出的脚本是正确的。
1.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”的值。
2.LoadRunner脚本中出现乱码:在录制Web协议脚本时出现中文乱码,在回放脚本时会使回放中止在乱码位置,脚本没法运行。
错误现象:某个连接或者图片名称为中文乱码,脚本运行没法经过。
错误分析:脚本录制可能采用的是URL-based script方式,若是程序定义的字符集合采用的是国际标准,脚本就会出现乱码现象。
解决办法:从新录制脚本,在录制脚本前,打开录制选项配置对话框进行设置,在“Recording Options”的“Advanced”选项里先将“Surport Charset”选中,而后选中支持“UTF-8”的选项。
3.LoadRunner HTTP服务器状态代码:在录制Web协议脚本回放脚本的过程当中,会出现HTTP服务器状态代码,例如常见的页面-404错误提示、-500错误提示。
错误现象1:-404 Not Found服务器没有找到与请求URI相符的资源,但还能够继续运行直到结束。
错误分析:此处与请求URI相符的资源在录制脚本时已经被提交过一次,回放时不可再重复提交一样的资源,而须要更改提交资源的内容,每次回放一次脚本都要改变提交的数据,保证模拟实际环境,形成必定的负载压力。
解决办法:在出现错误的位置进行脚本关联,在必要时插入相应的函数。
错误现象2:-500 Internal Server Error服务器内部错误,脚本运行中止。
错误分析:服务器碰到了意外状况,使其没法继续回应请求。
解决办法:出现此错误是致命的,说明问题很严重,须要从问题的出现位置进行检查,此时须要此程序的开发人员配合来解决,并且产生的缘由根据实际状况来定,测试人员没法单独解决问题,并且应该尽快解决,以便于后面的测试。
4.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” 模式来录制脚本。
5.LoadRunner不执行检查方法:在录制Web协议脚本中添加了检查方法Web_find,可是在脚本回放的过程当中并无执行。
错误现象:在脚本中插入函数Web_find,在脚本中设置文本以及图像的检查点,可是在回放过程当中并无对设置的检查点进行检查,即Web_find失效。
错误分析:因为检查功能会消耗必定的资源,所以LoadRunner默认关闭了对文本以及图像的检查,因此在设置检查点后,须要开启检查功能。
解决办法:打开运行环境设置对话框进行设置,在“Run-time Settings”的“Internet Protocol”选项里的“Perference”中勾选“Check”下的“Enable Image and text check”选项。
6.LoadRunner回放Web Services协议脚本错误:LoadRunner 8.0版本在录制Web Services协议的脚本时正常,但在回放时会出现错误,提示中止脚本运行。
错误现象:利用LoadRunner 8.0版原本录制Web Services协议的脚本没有任何错误提示,回放脚本时会出现以下错误提示 “Error:server returned an incorrectly formatted SOAP response”。
错误分析:出现此错误的缘由是LoadRunner8.0在录制Web Services协议的脚本时存在一个缺陷:若是服务器的操做系统是中文 的,VuGen会自动将WSDL文件的头改成