admin管理员组

文章数量:1532656

2024年6月11日发(作者:)

在运行脚本回放过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难

免会有问题,需要运行脚本进行验证,把问题都解决后才加入到场景中进行负载测试。下面结合常用的协

议(如Web、Web Services协议)录制的脚本进行回放时出现的问题介绍一下解决的方法。

需要注意的是,回放脚本时出现的错误有时是程序自身的原因导致的,因此在解决脚本回放问题前必

须保证程序录制出的脚本是正确的。

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=172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/

错误分析:这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成

的,所以这个错误是正常现象,是压力过大造成的。

如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定

位某个具体问题发生的位置。

解决办法:例如上面的错误现象问题定位在某个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文件的头改为

version="1.0"encoding="zh_cn" ?>,所以才会有此错误提示。

解决办法:下载两个补丁,分别为“LR80WebServicesFPI_”和“lrunner_web_

services_patch_”安装上即可。

本文标签: 脚本错误录制