一、LoadRunner常见问题整理1.LoadRunner录制脚本时为什么不弹出IE浏览器?(1)当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。因此建议运行LoadRunner得主机上保持一个干净的测试环境。LR录制脚本的浏览器必须设置成成默认浏览器,最好就用一个IE8浏览器。(2)工具--Internet选项--高级--取消启用第三方浏览器扩展(需重启)和启用内存联机保护(3)IE选项——安全,自定义级别设为低.(4)在我的电脑属性高级性能设置数据执行保护,将lr的binvugen.exe加入,成功。修改此处TD使用不正常。(5)在启动LR的vuser开始录制的Programtorecord自己指定MicrosoftInternetExplorer安装目录下的exe。(6)在lr的安装目录(例如D:\ProgramFiles\Mercury\LoadRunner\bin)下,单击register_vugen.bat文件,然后重新启动一下。(好多目录下没有该文件)(7)成功录制脚本N次后,再次录制时IE浏览器就打不开了?在任务管理器中杀掉iexplore.exe进程树,因为已经打开IE浏览器进程了,所以LR11录制脚本打不开。关闭Vuser脚本生成器重新打开,重新录制,可解决问题。(8)成功录制脚本N次后,再次录制时IE浏览器就打不开了?此时关掉所有杀毒软件,防火墙.问题解决。奇葩事,本来还以为是IP172.10.11.221和172.10.10.221来回互换导致的呢。2.安装Loadrunner11的时候,系统提示“安装程序已启动,正等待重新启动…….”解决办法:进入注册表(开始-运行-regedit),通过修改注册表的方法来解决。除了LoadRunner安装时遗留下的垃圾文件,还必须进行以下操作,依次查找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager,找到“PendingFileRenameOperations”值,并删除其中所有数据,之后就可以正常安装LoadRunner。3.启动LoadRunner11自带的web程序报错:(开始-HP-Loadrunner-Samples-web-StartwebServer)出错:Couldnotopenhttpport1080-portisalreadyusedbyanotherserver(WSAEADDRINUSE)找到xitami.cfg,将protbase=1000改为2000。C:\ProgramFiles\MercuryInteractive\MercuryLoadRunner\WebTours\xitami.cfg4.打开LoadRunner示例程序webtours的“FindFlight”界面,出现日历控件无法加载,提示JAVA安装程序已被阻止?控制面板-Java-安全,调低,例外站点添加webtours的程序链接,备注JDK1.6安全选项只有证书,没有安全等级设置,JDK1.7版本及以上才有。5.录制Web脚本时,生成的脚本中存在乱码该如何解决?录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选“Supportcharset”,然后选择中支持UTF-8。再次录制,就不会出现中文乱码问题。6.HTML-basedscript与URL-basedscript的脚本有什么区别?使用“HTML-basedscript”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;使用“URL-basedscript”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。通常,基于浏览器的Web应用会使用“HTML-basedscript”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的JavaApplet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS安全协议,这时使用“URL-basedscript”模式进行录制。7.为什么脚本中添加了检查方法Web-find,但是脚本回放时却没有执行?由于检查点功能会耗费一定的资源,因此LoadRunner默认关闭了对文本及图像的检查。要想开启检查功能,必须修改运行时的配置Run-timeSetting。进入“Run-timeSetting”对话框,依次进入“InternetProtocol→Preferences”,勾选Checks下的“EnableImageandtextcheck”选项即可。检查执行结果时推荐使用web_reg_find方法。8.运行时的Pacing设置主要影响什么?Pacing主要用来设置重复迭代脚本的间隔时间。共有三种方法:上次迭代结束后立刻开始、上次迭代结束后等待固定时间、按固定或随机的时间间隔开始执行新的迭代。根据实际需要设置迭代即可。通常,没有时间间隔会产生更大的压力。9.运行时设置Log标签中,如果没有勾选“Enablelogging”,则手工消息可以发送吗?Enablelogging选项仅影响自动日志记录和通过lr_log_message发送的消息。即使没有勾选,虚拟用户脚本中如果使用lr_message、lr_output_message、lr_error_message,仍然会记录其发出的消息。10.LoadRunner8.0版本的VuGen在录制WebServices协议的脚本时一切正常,而回放时报出错误提示“Error:serverreturnedanincorrectlyformattedSOAPresponse”。这时说明原因引起的?造成这种情况的主要原因是LoadRunner8.0的VuGen在录制WebService协议的脚本时存在一个缺陷:如果服务器的操作系统是中文的,VuGen会自动将WSDL文件的头改为?xmlversion=”1.0”encoding=”zh_cn”?,因此会有上面的错误提示。解决方法:把“LR80WebservicesFPI_setup.exe”和“lrunner_web_sevices_path_1.exe”两个补丁打上即可解决。11.VuGen支持Netscape的客户证书吗?不支持。目前的VuGen8.0版本中仅支持InternetExplorer的客户端证书。录制脚本时可以先从Netscape中导出所需的证书,然后将其导入到InternetExplorer中,并确保以相同的顺序导出和导入这些证书。而且,在每台将要录制或运行需要证书的WebVuser脚本的计算机上都要重复执行前面的过程。12.VuGen会修改录制浏览器中的代理服务器设置吗?会修改。在开始录制基于浏览器的WebVuser脚本时,VuGen首先会启动指定的浏览器。然后,VuGen会指示浏览器访问VuGen代理服务器。为此,VuGen会修改录制浏览器上的代理服务器设置。默认情况下,VuGen会立即将代理服务器设置更改为Localhost:7777。录制之后,VuGen会将原始代理服务器设置还原到该录制浏览器中。因此,在VuGen进行录制的过程中,不可以更改代理服务器设置,否则将无法正常进行。13.在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:1185329968Systemtimeanddate:WedJul2510:19:28200714.一些Web虚拟用户脚本录制后立刻回放没有任何问题,但是当设置迭代次数大于1时,如果进行回放则只能成功迭代一次。为什么从第二次迭代开始发生错误?这种现象多是由于在“Run-timeSetting”的“BrowseEmulation”的设置中,勾选了“Simulateanewuseroneachiteration”及其下面的选项“Clearcacheoneachiteration”这两个选项的含义是每次迭代时模拟一个新的用户及每次迭代时清除缓存。由于脚本迭代时,init和end只能执行一次,如果每次迭代都模拟一个新的用户并清除缓存,则用户登录信息将一并清除,因此迭代时可能会发生错误。15.虚拟客户脚本“Run-timeSetting”中的线程和进程运行方式的区别?如果选择“RunVuserasaprocess”,则场景运行时会为每一个虚拟用户创建一个进程;选择“RunVuserasathread”则将每个虚拟用户作为一个线程来运行,在任务管理器中只看到一个mmdrv.exe,这种方式的运行效率更高,能造成更大的压力,时默认选项。另外,如果启用了IP欺骗功能,则先在Controller中选中Tools菜单下的“ExpertMode”,然后将Tools菜单下的“OptionsGeneral”标签页中的IP地址分配方式也设置为与Vuser运行方式一致,同为线程或进程方式。16.在Controller中运行Web相关测试场景时,经常会有很多超时错误提示,如何处理这类问题?这主要有脚本的默认超时设置引起。当回放Web脚本时,有时候由于服务器响应时间较长,会产生超时的错误。这时需要修改脚本的运行时配置。进入“Run-timeSetting”对话框后,依次进入“InternetProtocol→Preference”。然后点击“Options…”按钮,进入高级设置对话框,可以修改各类超时设置的默认值。17.为什么Windows系统中的CPU、内存等资源仍然充足,但是模拟的用户数量却上不去?在Windows计算机的标准设置下,操作系统的默认限制只能使用几百个Vuser,这个限制与CPU或内存无关,主要是操作系统本身规定了默认的最大线程数所导致。要想突破Windows这个限制,须修改Windows注册表。以WindowsXPProfessional为例。(1)打开注册表后,进入注册表项HKEY_LOCAL_MACHINE中的下列关键字:System\CurrentControlSet\Control\SessionManager\SubSystems。(2)找到Windows关键字,Windows关键字如下所示:%SystemRoot%\system32\csrss.exebjectDirectory=\WindowsSharedSection=1024,3072,512Windows=OnSubSystemType=WindowsServerDll=basesrv,1ServerDll=winsrv:UserServerDllInitialization,3ServerDll=winsrv:ConServerDllInitialization,2ProfileControl=OffMaxRequestThreads=16SharedSection=1024,3072,512关键字的格式为xxxx,yyyy,zzz。其中,xxxx定义了系统范围堆的最大值(以KB为单位),yyyy定义每个桌面堆得大小。(3)将yyyy的设置从3072更改为8192