Loadrunner常见错误及解决办法

上一篇 / 下一篇  2014-07-14 15:23:09 / 个人分类:学习

最近刚做了优惠券平台的性能测试,期间遇到了一些问题,写出来和大家分享一下,大家在做性能测试的过程中,如果遇到了相同的问题,可以找到一些答案。

在介绍Loadrunner常见错误前,先说明一下使用Loadrunner进行测试的一般步骤。

1)性能测试开始前,需要先分析网站的性能需求,包括哪些功能点需要进行性能测试,性能测试场景如何设置,并发数为多少。

2)在确定了如上数据后,可以开始性能测试,首先需要根据性能测试用例录制相应的性能测试脚本,录制完成之后,需要对脚本进行修改,修改的方向一般为设置关联,参数化,设置检查点,设置集合点。

3)脚本准备完成之后,为脚本配置不同的运行场景,模拟真实用户对系统的访问。

4)场景运行结束,对性能测试结果进行分析,找出性能瓶颈。

因为性能测试的操作步骤不是本文介绍的重点,所以这里不详细说明。接下来对使用Loadrunner进行性能测试过程中的常见错误及解决方法做个汇总。

  1.  检查点常见错误

LR中检查点有图片和文字。这两种检查点可用以下三个函数实现:web_find()、web_reg_find()和web_image_check()。检查点最主要的错误是检查点无法找到,可能的原因如下:

1) Enable Image and text check未勾选

由 于检查功能会消耗一定的资源,因此LoadRunner默认关闭了对文本以及图像的检查,所以在设置检查点后,需要开启检查功能。打开VU Generator,在Vuser--Run time Settings--Internet Protocol--Perference中勾选Check下的Enable Image and text check选项。

2) 检查点内容

乱码:录制的脚本存在中文乱码,如下图,进入View-tree view模式,切换到server response分页,可以看到服务器返回值是乱码的。如果设置的检查点为乱码对应的中文,在回放脚本时检查点会运行不通过。

Loadrunner常见错误及解决办法 - 网易杭州QA - 网易杭州 QA Team

 错误原因:检查点设置为中文,而服务器返回值为乱码,两者不一致。脚本录制时采用URL-based script的方式,如果程序定义的字符集合采用的是国际标准,脚本就会出现乱码现象。

解决办法:

a)重新录制脚本。在录制脚本前,打开录制选项配置对话框进行设置,在“Recording Options”的“Advanced”选项里先将“Surport Charset”选中,然后选中支持“UTF-8”的选项。

b)在server response中找到检查点的值,设置检查点的值的与服务器返回值一致,服务器返回乱码时,检查点也设置为相应的乱码。

3)  检查点位置

错误代码:Action.c(22): Error -27191: "web_image_check" failed (0 occurrence(s) found.[MsgId: MERR-27191]

如果是web_find(),检查函数的位置是否在要查找内容的后面;如果是web_image_check(),查看该图片的源代码,看其是否是这个页面上的图片,很可能是图片选择错误,即所选图片不属于该页面。

错误代码:Action.c(27): Error -26366: "Text=ABC" not found for web_reg_find  [MsgId: MERR-26366]

出现该问题时,需要检查web_reg_find是否放在查找内容的前面。

2.参数化常见错误

错误代码:Error:missing newline in d:\loadrunner\username.dat

错误原因:场景设置不合理,参数数量不够,或者参数化文件有问题。

1) 如果参数化文件反复修改,而在场景设置时没有更新脚本,可能会导致参数化文件修改未生效的情况,建议当参数不是很多时,不要打开记事本去编辑参数,直接在 LR提供的参数的表格中进行编辑即可。如果参数很多,需要直接打开记事本编辑参数,可以在controller中重新选择一次脚本。

2)在记事本中编辑参数时,需要在最后一个参数后打回车,让鼠标的光标移动到下一行。

3.场景设置常见错误

1)  登录问题

网 易产品(比如优惠券平台)目前基本上都使用urs统一接口,在运行500个并发时,如果一次性登录所有虚拟用户,会造成部分用户登录失败,我在优惠券平台 的性能场景配置中,采用每10s加载10个用户的方式,登录的成功率较高。具体以什么样的加载频率,可以根据具体产品的实际情况来调整。

在以后的性能测试实践中,希望通过mock登录的方式来绕过登录,提高场景运行的效率,如果要运行大量并发用户,等待时间很长,比如加载完1000个用户(5台负载机,每台200个用户)至少需要等待4分钟,而且极易出现登录失败。

2)  超时问题

错误代码:Error -27728: Step download timeout (120 seconds)

错误原因:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner中修改),客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误。

解决办法:超时问题的有效解决办法就是延长超时时间,设置的方法如下:

在VU Generator中修改run time setting中的请求超时时间,其中HTTP-request connect timeout,HTTP-request receieve timeout,Step download timeout这三项的参数可以一次都修改了,分别建议修改为600、600、5000

Loadrunner常见错误及解决办法 - 网易杭州QA - 网易杭州 QA Team

       b) VU Generator中设置完成后记住还需要在controler的run time setting中设置相应的参数。

Loadrunner常见错误及解决办法 - 网易杭州QA - 网易杭州 QA Team

TAG:

 

评分:0

我来说两句

Open Toolbar