一、刚刚破解安装的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:programFilesMercuryLoadRunnerin双击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
如果还出现乱码问题就考虑换协议吧,由单协议换多协议
五、插入检查点时,报错:
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请求比关闭时要小很多
七、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默认是选中的。
八、原来通过的脚本,重新回放报错 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
\x01\x02\x00\xD6\x00\x00\x01p\x14藞\x10ky桕胱嬼蟸
\x8E\x00\x00\x00\x05\x13ug^\xD5\x0F焅\xF2\x15\xFA*\x1C\xF6\x11<\x19\xAF\x00\xCC<"z\xE3\x0B湼\x00\xEA :杠ハ�嬛\x08镪M\x1Cr@HiK謤\\%�Y|l�\x80\x02\xC0$饦\xCE+V噹\x05q筃b�\xEC
\x00螿嵥#(+[\x86
薪莤\x01Rそe(19&|U�\xE8\x1D喅盍s\xC3\x11\x85-4诣P\x0F�\x1D揁{\xD6=\x0E凿姽~+_審\x07n\xC5\x15\x06/粅(ツ
"
"\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
艿 攆躡璃\x1C\x8D/)鞷$RVC錍[\x1Cq\x18�篬愀髏y\x07}謊
js鄓訯籠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录制进去了
解决方法:把这几段直接删除就好了,或者关闭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>