LoadRunner常见问题整理.docx
- 文档编号:9105560
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:29
- 大小:45.82KB
LoadRunner常见问题整理.docx
《LoadRunner常见问题整理.docx》由会员分享,可在线阅读,更多相关《LoadRunner常见问题整理.docx(29页珍藏版)》请在冰豆网上搜索。
LoadRunner常见问题整理
一:
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-basedscript与URL-basedscript的脚本有什么区别?
使用“HTML-basedscript”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;
使用“URL-basedscript”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。
通常,基于浏览器的Web应用会使用“HTML-basedscript”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的JavaApplet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS安全协议,这时使用“URL-basedscript”模式进行录制。
4.运行时的Pacing设置主要影响什么?
Pacing主要用来设置重复迭代脚本的间隔时间。
共有三种方法:
A:
上次迭代结束后立刻开始、B:
上次迭代结束后等待固定时间、C:
按固定或随机的时间间隔开始执行新的迭代。
根据实际需要设置迭代即可。
通常,没有时间间隔会产生更大的压力。
5.运行时设置Log标签中,如果没有勾选“Enablelogging”,则手工消息可以发送吗?
Enablelogging选项仅影响自动日志记录和通过lr_log_message发送的消息。
即使没有勾选,虚拟用户脚本中如果使用lr_message、lr_output_message、lr_error_message,仍然会记录其发出的消息。
6.VuGen支持Netscape的客户证书吗?
不支持。
目前的VuGen8.0版本中仅支持InternetExplorer的客户端证书。
录制脚本时可以先从Netscape中导出所需的证书,然后将其导入到InternetExplorer中,并确保以相同的顺序导出和导入这些证书。
而且,在每台将要录制或运行需要证书的WebVuser脚本的计算机上都要重复执行前面的过程。
7.VuGen会修改录制浏览器中的代理服务器设置吗?
会修改。
在开始录制基于浏览器的WebVuser脚本时,VuGen首先会启动指定的浏览器。
然后,VuGen会指示浏览器访问VuGen代理服务器。
为此,VuGen会修改录制浏览器上的代理服务器设置。
默认情况下,VuGen会立即将代理服务器设置更改为Localhost:
7777。
录制之后,VuGen会将原始代理服务器设置还原到该录制浏览器中。
因此,在VuGen进行录制的过程中,不可以更改代理服务器设置,否则将无法正常进行。
8.在LoadRunner脚本如何输出当前系统时间?
LoadRunner提供了char*ctime(consttime_t*time)函数,调用参数为一个Long型的整数指针,用于存放返回时间的数值表示。
调用语句与返回值如下示例:
typedeflongtime_t;
Action()
{
time_tt;
lr_message(“Timeinsecondssince1/1/70:
%ld\n”,time(&t));
lr_message(“Systemtimeanddate:
%s”,ctime(&t));
}
输出结果为:
Timeinsecondssince1/1/70:
1185329968
Systemtimeanddate:
WedJul2510:
19:
282007
9.一些Web虚拟用户脚本录制后立刻回放没有任何问题,但是当设置迭代次数大于1时,如果进行回放则只能成功迭代一次。
为什么从第二次迭代开始发生错误?
这种现象多是由于在“Run-timeSetting”的“BrowseEmulation”的设置中,勾选了“Simulateanewuseroneachiteration”及其下面的选项“Clearcacheoneachiteration”这两个选项的含义是每次迭代时模拟一个新的用户及每次迭代时清除缓存。
由于脚本迭代时,init和end只能执行一次,如果每次迭代都模拟一个新的用户并清除缓存,则用户登录信息将一并清除,因此迭代时可能会发生错误。
10.虚拟客户脚本“Run-timeSetting”中的线程和进程运行方式的区别?
如果选择“RunVuserasaprocess”,则场景运行时会为每一个虚拟用户创建一个进程;选择“RunVuserasathread”则将每个虚拟用户作为一个线程来运行,在任务管理器中只看到一个mmdrv.exe,这种方式的运行效率更高,能造成更大的压力,时默认选项。
另外,如果启用了IP欺骗功能,则先在Controller中选中Tools菜单下的“ExpertMode”,然后将Tools菜单下的“Options>General”标签页中的IP地址分配方式也设置为与Vuser运行方式一致,同为线程或进程方式。
11.在Controller中运行Web相关测试场景时,经常会有很多超时错误提示,如何处理这类问题?
这主要有脚本的默认超时设置引起。
当回放Web脚本时,有时候由于服务器响应时间较长,会产生超时的错误。
这时需要修改脚本的运行时配置。
进入“Run-timeSetting”对话框后,依次进入“InternetProtocol→Preference”。
然后点击“Options…”按钮,进入高级设置对话框,可以修改各类超时设置的默认值。
13为什么Windows系统中的CPU、内存等资源仍然充足,但是模拟的用户数量却上不去-27796?
在Windows计算机的标准设置下,操作系统的默认限制只能使用几百个Vuser,这个限制与CPU或内存无关,主要是操作系统本身规定了默认的最大线程数所导致。
要想突破Windows这个限制,须修改Windows注册表。
以WindowsXPProfessional为例。
(1)打开注册表后,进入注册表项HKEY_LOCAL_MACHINE中的下列关键字:
System\CurrentControlSet\Control\SessionManager\SubSystems。
(2)找到Windows关键字,Windows关键字如下所示:
%SystemRoot%\system32\csrss.exebjectDirectory=\Windows
SharedSection=1024,3072,512Windows=OnSubSystemType=WindowsServerDll=basesrv,1
ServerDll=winsrv:
UserServerDllInitialization,3ServerDll=winsrv:
ConServerDllInitialization,2
ProfileControl=OffMaxRequestThreads=16
SharedSection=1024,3072,512关键字的格式为xxxx,yyyy,zzz。
其中,xxxx定义了系统范围堆的最大值(以KB为单位),yyyy定义每个桌面堆得大小。
(3)将yyyy的设置从3072更改为8192(即8MB),增加SharedSection参数值。
通过对注册表的更改,系统将允许运行更多的线程,因而可以在计算机上运行更多的Vuser。
这意味着能够模拟的最大并发用户数量将不受Windows操作系统的限制,而只受硬件和内部可伸缩性限制的约束。
14.Error-27728:
Stepdownloadtimeout(120seconds)的解决方法
loadruner报错:
Error-27728:
Stepdownloadtimeout(120seconds)如何解决语法检查通过,但是在并发执行一个查询时候报错Action.c(16):
Error-27728:
Stepdownloadtimeout(120seconds)hasexpiredwhendownloadingnon-resource(s), 请问有啥子解决方法,我使用web_set_timeout,好象不起作用,直接在option中设置timeout时间为600,(单位应该是秒吧)还是没有起作用,结果都还是提示(120seconds),说明还是以120秒来判断的;使用lrs_set_recv_timeout,语法检查不过,说明库函数里面没有这个函数。
尝试步骤:
设置超时时间到600秒,回放还是出错。
后来我设置了runttimesetting中的internetprotocol-preferences中的advaced区域有一个winlnetreplayinsteadofsockets选项,选项后再回放就成功了。
首先LR是通过MicrosoftWinInetDLL去录制web协议的!
但是在Control运行的时候它默认通过socket去模拟请求,因为这些可以真实的模拟带宽,而采用MicrosoftWinInetDLL通过这个DLL去访问网卡方式去模拟带宽,使得模拟不是很精确!
而且也不支持unix的应用,但是使用这个确实有时无法处理winnetDll的一些请求,我认为是它的一些BUG,比如说:
回放时它会检查Content-Length,但是网页支持receivemoredata时,这时socket模拟会一直等待直到timeout!
先说了一些优缺点,最后回到这个问题!
这个问题分两个方面分析:
第一:
你要明白web_set_timeout()这个函数的适用范围!
比如说一个web_submit_data()中实际涵盖了10个对Server端的请求,这个函数是针对10个请求的总和时间的!
(别犯低级错误,timeout分了connect,receive以及download三个部分:
)) 第二:
就是我解释的上面的一些BUG问题!
WinInetdll在新版本中处理请求时可以异步的,就是不再是那种连接等待然后超时模式!
但是LR用的socket是同步请求!
只有等到timeout才会退出!
microsoft已经明确表示INTERNET_OPTION_RECEIVE_TIMEOUT不再适用于MicrosoftInternetExplorer5.0,显而易见,他们处理请求采取了异步处理的方式!
呵呵!
这下大概可以圆满解释你的问题了!
呵呵这里,
我补充如下:
VuGen专用的基于套接字的重播是一种可伸缩以便进行负载测试的轻型引擎。
使用线程时是准确的。
基于套接字的引擎不支持socks代理服务器。
如果在这样的环境中录制,应该使用winInet重播引擎。
15.性能测试往往需要准备大批量的数据,大批量数据的生成方法有很多种,常见的有:
(1)编写SQL语句来插入数据
(2)使用DataFactory等专业的数据生成工具
(3)通过LoadRunner录制回放的方式重复执行生成大批量数据
Tips:
使用DataFactory插入nchar数据类型的数据时会出现空值的情况,可以先修改数据库的数据类型设置,插完数据后再改回来
16.录制脚本中包含中文,出现乱码怎么办?
把录制选项中的Supportcharset选中UTF-8
录制脚本后,切换到树视图中,打开相应的脚本页面。
在右侧的PageView中录制的脚本呈现中文版式,但是当切换到ServerResponse中,所有的中文全部换成的乱码,如“勌缞仫訆”。
原因是服务器端没有把响应的编码设置为gb2312
在IIS中找到Web.Config文件,在
17.LoadRunner回放脚本时,在浏览器显示的中文是乱码
解决办法
(1):
首先设置Run-TimeSettings–Browser–BrowserEmulation–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'sabouttime.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测试脚本的目录中找到参数文件,直接修改参数文件
Theparameterfileisstoredinthescriptdirectoryas.datfileextension. ItcanbeopenedwithasimpletexteditorlikeNotepadasitisstoredinpuretextformat. Therefore,youcanmanipulatethefilesviatheNotepad. YoucanalsouseofficeapplicationssuchasMicrosoftExcelorOpenOffice.orgCalctoworkonthefile. Thisgreatlytheamountofworkrequiredformaintainingalonglistofdata.
19.LR9.x启动VUGen时提示"Failedtoconnecttoserver"
AfterupgradingtoLoadRunner9.xIstartedgettingawindowpopupwhichsaid"Failedtoconnecttoserver"everytimeIopenedvirtualusergenerator(vugen.exe).
Thesolutiontothiswastoclosevirtualusergeneratoranddeletethe[vugen.ini]file.
vugen.iniisfoundinthe%systemroot%folderonyourWindowsPC(usuallyC:
\WINDOWSorC:
\WINNT).
Onceyou'vedeletedthefile,virtualusergeneratorwillopenwithoutanyissuesandcreateanewvugen.inifileautomatically.
20.怎样抓取有相同左右边界的动态value?
怎样抓取有相同左右边界的动态value?
例如:
stateID="d7lg0ehmjkkm6uin3s4boei7oq">
stateID="cvopakp46ftsf8mh6l37ti3ubm">
stateID="bv9mja8gtgr39ddibm5t9163re">
web_reg_save_param里的ORD应该怎样设置?
ORD:
Indicatestheordinalpositionorinstanceofthematch.Thedefaultinstanceis1.Ifyouspecify"All,"itsavestheparametervaluesinanarray.
例子:
charoutFlightParam[50];//Thenameoftheparameterforcorrelation
charoutFlightParamVal[50];//TheformattedvalueofoutFlightPar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LoadRunner 常见问题 整理