LR常见问题处理参考方案

文章详细列举了在使用LoadRunner进行功能测试和性能测试时遇到的各种问题,包括录制脚本时无法打开IE、中文乱码、插入检查点报错、脚本回放失败等,并提供了相应的解决方案,如调整录制选项、处理缓存机制、处理WebService请求等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、前言

二、用LR录制脚本时,输入录制地址,但开始录制时打不开IE

三、检查点:

四、录制后出现中文乱码问题

五、插入检查点时,报错:

六、缓存机制

七、Loadrunner脚本中出现urs.asmx请求

八、原来通过的脚本,重新回放报错 Error -26627: HTTP Status-Code=404 (Not Found) for "

九、录制脚本时,莫名其妙的出现 web_custom_request函数,而且这部门全是乱码,而其他部分正常。

十、回放时,上传附件部分报错:找不到上传附件的路径。

十一、录制回放正确,运行脚本,集合点3个并发时,却老是出错


一、前言

刚刚破解安装的lr软件,它的默认设置是自动添加关联的,直接录制会让原本没问题的脚本回放时变得不成功。例如:就录一个登陆模块怎么回放都不成功,自己手动添加一个关联也不好用,错误提示:

Action.c(20): Error -26377: No match found for the requested parameter 

"JSESSIONID13". Check whether the requested boundaries exist in the response data. 

Also, if the data you want to save exceeds 1024 bytes, use 

web_set_max_html_param_len to increase the parameter size   [MsgId: MERR-26377]

Action.c(20): web_url("admin") highest severity level was "ERROR", 598483 body 

bytes, 7920 header bytes, 98 chunking overhead bytes   [MsgId: MMSG-26387]


解决:Tools——Recording Options——Correlation  将Enable correlation during recording前面的√去掉。

二、用LR录制脚本时,输入录制地址,但开始录制时打不开IE

1、打开IE浏览器-进入Internet选项-切入高级-去掉 “启用第三方浏览器扩展”前面的对勾
2、是依次点击我的电脑->属性->高级->性能下的设置按钮->数据执行保护-> 选中“仅为基本 Windows程序和服务启用DEP(T)”单选框,重启电脑即可。
3、到lr的安装目录下E:\programFiles\Mercury\LoadRunner\bin双击register_vugen.bat文件注册信息被重新改写,之后重启。
注:lr浏览器只能用IE,不支持其他浏览器的。

三、检查点:

1、使用前的准备设置
 使用检查点前要在Run-time Settings——Preferences中将检查点的选项勾上
2、检查点的设置

 方法一:
 在脚本录制过程中添加检查点,在要添加检查点的地方点击“录制工作条”中的“检查点”图标(注意,最好在录制过程中添加)
 方法二:在tree View 模式下添加检查点
 在左侧选中需要添加检查点的一项——右键——选择insert before/insert after——text check/image check——在弹出框中输入信息(要搜索的text、左右边界、本次操作的步骤名称;alt属性、src属性)
 (注 意,如果web窗体中包含javascript脚本,在tree view模式中显示可能会有问题,解决方法general options——correlation——勾选“Enable Scripting and java applets on snapshorts viewer”选项)
 方法三:在script view模式下添加函数
 在脚本中写查找函数——web_reg_find()


四、录制后出现中文乱码问题

回放时可以成功但一旦你要加点什么中文之类(例如参数化、检查点)的脚本肯定不通。
   解决方法:第一步Tools-Recording Options-Advanced-Support charset-将UTF-8勾选上
             第二步Vuser-RunTimeSettings-Preferences-点击options-将ContentCheck values in UTF-8后面下拉框选择yes
   如果还出现乱码问题就考虑换协议吧,由单协议换多协议

出现中文乱码的原因可能是因为使用的编码格式与系统或软件不兼容,或者是录制时系统或软件的语言设置不正确。

你可以尝试以下解决方法:

  1. 更改录制软件的语言设置为中文或英文,以确保录制的中文字符能够被正确地识别和显示。

  2. 在录制前,将系统或软件的编码格式设置为UTF-8,这是一种通用的编码格式,可以支持中文字符的显示和输入。

  3. 将录制保存的文件编码格式转换为UTF-8,可以使用一些专业的文本编辑软件进行转换。

  4. 如果上述解决方法无法解决问题,可以考虑使用其他录制软件或更改录制的方式,例如使用截图工具进行录制。


五、插入检查点时,报错:

Error -27216: Invalid argument (number 4)   [MsgId: MERR-27216]
Registering web_reg_find highest severity level was "ERROR"   [MsgId: MMSG-26389]
Invalid argument非法参数、无效参数
一般出现这样的问题都是格式不对,或者多一个空格或者少一个空格
所以我的解决办法是:重新写了一下web_reg_find()函数  如下将横行改为竖行
    web_reg_find("Fail=NotFound",
  "Search=Body",
  "SaveCount=count",
  "Text=admin",
  LAST);

如果还不行的话,就用工具自动生成:insert-NewStep-addStep。。。。

插入检查点时要注意:1、你要检查的文本或图片一定是从服务器上获取来的,不是本地自带的!
                    2、一定确定你要检查的文本或图片是存在的,可以到页面查看源文件看看有没有
                    3、text不要写成test


六、缓存机制

runtimeSetting-Browser Emulation-设置Simulate a new user on each iteration的开启和关闭就是缓存机制,
默认是开启的,当做压力测试时,开启时是要比关闭时压力小很多,因此测出的TCP请求比关闭时要小很多

LR缓存机制是一种缓存管理策略,LR是Least Recently Used的缩写,即最近最少使用。

在LR缓存机制中,缓存空间分配给最近最频繁被访问的数据,而不是最近被插入到缓存中的数据。当缓存空间已满时,将删除最近最少使用的数据,以便为新数据腾出空间。

具体来说,LR缓存机制会维护一个缓存列表,列表中的数据按照最近访问时间从新到旧排序。当有新数据要加入缓存时,会先检查缓存列表中是否已经存在相同的数据,如果存在,会将该数据移到缓存列表的最前面,并更新最近访问时间;如果不存在,则将新数据加入到缓存列表的最前面,如果缓存列表已满,则删除最后一个数据。

LR缓存机制相对于其他缓存机制具有较好的性能,因为它可以保证缓存空间中始终存储最常访问的数据,从而减少缓存的命中率,提高缓存效率。

七、Loadrunner脚本中出现urs.asmx请求

如下:
web_custom_request("urs.asmx_22",
  "URL=https://urs.microsoft.com/urs.asmx?MSURS-Client-Key=Wn%2bXCn//u2k6xBS8KUlhTQ%3d%3d&MSURS-Patented-Lock=%2bnn6OG26j18%3d",
  "Method=POST",
  "TargetFrame=",
  "Resource=0",
  "RecContentType=text/xml",
  "Referer=",
  "Snapshot=t116.inf",
  "Mode=HTML",
  "EncType=text/xml; charset=utf-8",
  "Body=。。。。。。。。。。。。。。。。。。。",
  LAST);

解决办法 :打开IE8的Internet选项-->高级,把设置下面安全中“启用SmartScreen筛选器”不选中,IE默认是选中的。

附:

urs.asmx是.Net平台下的WebService接口,它是一种基于SOAP协议传输的Web服务接口。在Loadrunner脚本中出现urs.asmx请求,说明相关的测试场景中可能会使用到了该WebService接口。

可以通过以下步骤在Loadrunner中实现对urs.asmx接口的测试:

  1. 使用Web Services protocol来录制脚本。

  2. 在录制时,首先需要添加一个新的Web Service请求,并设置相关的请求头和参数。

  3. 在脚本中添加相关的SOAP请求语句,使用lr_xml_send_receive函数发送和接收请求的响应。

  4. 在脚本中对请求和响应进行数据提取和验证。

需要注意的是,对于urs.asmx接口的测试,需要对SOAP协议有一定的了解,以便能够正确地构造请求和解析响应。同时,需要对WebService接口中的各个方法有一定的了解,以便能够测试各种不同的场景。

八、原来通过的脚本,重新回放报错 Error -26627: HTTP Status-Code=404 (Not Found) for "

http://10.227.75.209:8081/portal/web/_ns:Z3RlbXBsYXRlLXRvcDJfX3BhZ2UtdGVtcGxhdGVfX1AtMTNmM2M1YzhmZDMtMTAwMDBfX1AtMTNmYWQ5MzY5Y2YtMTAwMDdfX1AtMTNmM2M3MWM4ODEtMTAwMTl8ZUFDVElPTl9OQU1FPTE9c2VhcmNoRG9j/?path=1"   [MsgId: MERR-26627]

解决方法一:找开发人员检查网站部署是否正确,
         
(产生原因:HTTP 404是指要浏览的网页在服务器中不存在,该网页可能已经迁移)

解决方法二:修改应用系统中的代码,使“公告栏”中的信息唯一且静止

(出错原因:找不到页面上的某些信息。页面上的某些信息是变化的。)

我的解决办法是方法一,所以重新录制调试了一遍就好了。

九、录制脚本时,莫名其妙的出现 web_custom_request函数,而且这部门全是乱码,而其他部分正常。

   web_custom_request("wdinfo.php_8",
  "URL=http://qurl.f.360.cn/wdinfo.php",
  "Method=POST",
  "Resource=0",
  "RecContentType=text/plain",
  "Referer=",
  "Snapshot=t33.inf",
  "Mode=HTML",
  "EncType=application/octet-stream",
  "BodyBinary=\\x1E\n\\x01\\x02\\x00\\xD6\\x00\\x00\\x01p\\x14藞\\x10ky桕胱嬼蟸\n\\x8E\\x00\\x00\\x00\\x05\\x13ug^\\xD5\\x0F焅\\xF2\\x15\\xFA*\\x1C\\xF6\\x11<\\x19\\xAF\\x00\\xCC<\"z\\xE3\\x0B湼\\x00\\xEA\t:杠ハ嬛\\x08镪M\\x1Cr@HiK謤\\\\%Y|l\\x80\\x02\\xC0$饦\\xCE+V噹\\x05q筃b\\xEC\r\\x00螿嵥#(+[\\x86\r薪莤\\x01Rそe(19&|U\\xE8\\x1D喅盍s\\xC3\\x11\\x85-4诣P\\x0F\\x1D揁{\\xD6=\\x0E凿姽~+_審\\x07n\\xC5\\x15\\x06/粅(ツ\r"
  "\\x1A竭驻瓕\\xF0\\x1Ai'驱\\xE6\\x0E鄐\\xDC\\x1F誐絶厓e$\\xDB\\x1F弴妄誽)\\x1A\\x92\\x12\\x11;-x垧\\xFD\\xFF+:璮賑W髋y\\x91\\x01\\x08\\x1Ch\\xD13^篖悏^9\\xDD\\x1A鋈a\\xD9\\x05+\\x85\\x00]H奉MiSM\\x90/頒~H\n艿 攆躡璃\\x1C\\x8D/)鞷$RVC錍[\\x1Cq\\x18篬愀髏y\\x07}謊\rjs鄓訯籠7K5?\\x9D-D\\xA1\\x1C勹KD>\\xAC\\x04\\xF8\\x1A镙\\xDA7Q籚撁`\\x87,觸/囀B競\\x08\\\\>\\xA4\\x10y燷\\xCD,決\\xE4\\x1A埤b\\x11矊\\x03\\xC3",
  LAST);

产生原因:录制时开启了360,把360录制进去了,

可能是因为您的脚本中包含了二进制数据或非文本内容,导致乱码出现。web_custom_request是LR中的一个函数,用于向服务器发送自定义请求。建议您检查脚本中是否存在二进制数据或包含非文本的内容,并将其删除或进行相应的处理。另外,您也可以尝试重新录制该部分的脚本,或者手动编写该部分的脚本以替代web_custom_request函数。

 解决方法:把这几段直接删除就好了,或者关闭360重新录制。

十、回放时,上传附件部分报错:找不到上传附件的路径。

解决方法:将录制时上传的附件复制到脚本文件夹里,重新回放,过了。

这可能是因为你的代码中写的上传附件的路径不正确或者上传的文件不存在。请检查你写的路径是否正确,并且确保上传的文件存在,并且可以被读取。如果还是无法解决问题,请将你的代码和详细的报错信息提供出来,以便我们更好地帮助你解决问题。

十一、录制回放正确,运行脚本,集合点3个并发时,却老是出错

如下:

Action.c(30): Error -26612: HTTP Status-Code=500 (Internal Server Error) for http://192.168.100.88:88/Purchase/stockin_action.asp?Oper=Edt

解决过程:按Help提示在浏览器输入原地址,发现提示“请重新登陆系统”。

被此误导,偶以为是Session ID、或Cookie失效,于是尝试找关联,花了N多时间。可是脚本里确实不存在需要关联的地方呀,系统默认关联了。

与程序员沟通,证实此过程不会涉及到Session ID 或Cookie。那为什么?

因为集合点下一站就是修改的提交操作,于是查找web_submit_data-->定位查找Log文档

**************注意点:怎么找log文件***********************************

-->Controller-->Results-->Results Settings 查找本次log文件保存目录-->到该目录下查找log文件夹-->打开

惊喜的发现其中竟然有所有Vuser 的运行log。-->打开Error 查找报错的Vuser-->打开相应的log文件

查找error!!!!
Action.c(30):     <font face="宋体" size=2>[Microsoft][ODBC SQL Server Driver][SQL Server]事务(进程 ID  53)
Action.c(30):     与另一个进程已被死锁在  lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务。</font>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的雷神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值