721695321 发表于 2016-7-8 11:26:39

LoadRunner11压力测试时遇到问题及解决办法[转自网络]

1、LoadRunner超时错误:
在录制Web服务器端,如果超过120秒服务器协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。
错误现象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。
错误分析:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner中修改),客户端发送一个请求到端还没有返回结果,则出现超时错误。
解决办法:首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在“Runtime Setting”>“Internet Protocol:Preferences”>“Advanced”区域中设置一个“winlnet replay instead of sockets”选项,再回放是否成功。
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
Action.c(41): web_submit_form. highest severity level was "ERROR",0 body bytes, 0 header bytes "
这时在tree view中看不到此组件的相关URL。
错误分析:所选择的录制脚本模式不正确,通常情况下,基于浏览器的Web应用会使用“HTML-based script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的代码、基于浏览器的应用中使用HTTPSJava Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript安全协议,这时则使用“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. Abnormal termination, caused by mdrv process termination
解决:修改LR中的D:\Program Files\Mercury\LoadRunner\dat\protocols 中的http.lrp信息,在下面新加一条MaxThreadPerProcess=要设置的vuser数量 。
6.LoadRunner录制脚本时为什么不弹出IE浏览器?
答:启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题;
7.LoadRunner录制脚本时提示默认浏览器不支持解决方法?
答:在Recording Options->Browser->修改浏览器设置->改为IE浏览器访问,重新启动LoadRunner录制脚本就ok;
8.LR录制Web脚本时,生成的脚本中存在乱码该如何解决?
答:录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选“Support charset”,选择支持UTF-8。重新录制,就不会出现中文乱码问题了。
9.HTML-based script与URL-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”模式进行录制。
10.为什么脚本中添加了检查方法Web-find,但是脚本回放时却没有执行?
答:LoadRunner默认关闭了对文本及图像的检查。进入“Run-time Setting”对话框,依次进入“Internet Protocol→Preferences”,勾选Checks下的“Enable Image and text check”选项即可。
备注:推荐web_reg_find函数针对文本及图像的检查。
11.运行时的Pacing设置主要影响什么?
答:Pacing主要用来设置重复迭代脚本的间隔时间。共有三种方法:上次迭代结束后立刻开始、上次迭代结束后等待固定时间、按固定或随机的时间间隔开始执行新的迭代。根据实际需要设置迭代即可。通常,没有时间间隔会产生更大的压力。
12.运行时设置Log标签中,如果没有勾选“Enable logging”,则手工消息可以发送吗?
答:Enable logging选项仅影响自动日志记录和通过lr_log_message发送的消息。即使没有勾选,虚拟用户脚本中如果使用lr_message、lr_output_message、lr_error_message,仍然会记录其发出的消息。
13.LoadRunner如何在IE7+Win2003环境下录制脚本?
答: 方法一: 巧借IE6内核录制脚本
在系统安装目录下C:\WINDOWS\ie7\iexplore.exe,然后在Recording Options->Browser,指定Ie6内核;设置完成确认后,即可以用LoadRunner录制脚本;
方法二 查看了下官方提供LoadRunner解决方法:
安装LoadRunner 8.1 Feature Pack 4->然后安装:Internet Explorer 7 (IE 7) support for LoadRunner 8.1 Feature Pack 4;
14.LoadRunner 8.0版本的VuGen在录制Web Services协议的脚本时一切正常,但回放时报错误“Error:server returned an incorrectly formatted SOAP response”?
答:原因是LoadRunner 8.0的VuGen在录制Web Service协议的脚本时存在一个缺陷:如果服务器的操作系统是中文的,VuGen会自动将WSDL文件的头改为<?xml version=”1.0” encoding=”zh_cn”?>,因此会有上面的错误提示。
所以需要打上补丁:“LR80WebservicesFPI_setup.exe”和“lrunner_web_sevices_path_1.exe”。
15.VuGen支持Netscape的客户证书吗?
答:不支持。目前的VuGen 8.0版本中仅支持Internet Explorer的客户端证书。录制脚本时可以先从Netscape中导出所需的证书,然后将其导入到Internet Explorer中,并确保以相同的顺序导出和导入这些证书。而且,在每台将要录制或运行需要证书的Web Vuser脚本的计算机上都要重复执行前面的过程。
16. LoadRunner场景执行时第1次报错 error:missing newline in d:\test\test1.dat,第2次场景执行时不报错?
答:Loadruner参数设置test1.dat文本时,需要在最后一个参数后回车确认一下。
17.LoadRunner场景执行时出现错误:
“load generator is currently running the maximum number of vuser of this type”
答:Loadruuner默认场景并发最大用户数=1000,所以需要设置load generator->Details->Vuser limits->Other Vusers更换参数值即可,如10000;当然需要你的序列号是支持,目前最大支持6.2w的序列号。
18.VuGen会修改录制浏览器中的代理服务器设置吗?
答:会修改。在开始录制基于浏览器的Web Vuser脚本时,VuGen首先会启动指定的浏览器。然后,VuGen会指示浏览器访问VuGen代理服务器。为此,VuGen会修改录制浏览器上的代理服务器设置。默认情况下,VuGen会立即将代理服务器设置更改为Localhost:7777。录制之后,VuGen会将原始代理服务器设置还原到该录制浏览器中。因此,在VuGen进行录制的过程中,不可以更改代理服务器设置,否则将无法正常进行。
19.在LoadRunner脚本如何输出当前系统时间?
答:LoadRunner提供了char *ctime(const time_t *time)函数,调用参数为一个Long型的整数指针,用于存放返回时间的数值表示。
20.Loadruner在一些Web虚拟用户脚本录制后立刻回放没有任何问题,但是当设置迭代次数大于1时,如果进行回放则只能成功迭代一次。从第二次迭代开始发生错误?
答:“Run-time Setting”的“Browse Emulation”的设置中,勾选了“Simulate a new user on each iteration”及其下面的选项“Clear cache on each iteration”这两个选项的含义是每次迭代时模拟一个新的用户及每次迭代时清除缓存。

lsekfe 发表于 2016-7-8 13:21:02

支持分享·
页: [1]
查看完整版本: LoadRunner11压力测试时遇到问题及解决办法[转自网络]