LR调试bbs脚本的时候报错:
1.Error -27796: Failed to connect to server "192.168.211.128:80": [10060] Connection timed out [MsgId: MERR-27796]
2.web_url("bbs") highest severity level was "ERROR", 0 body bytes, 0 header bytes [MsgId: MMSG-26388]
问题分析:
1.刚开始运行的时候,脚本是ok的。关联值和参数化的值都获取到了。但是当运行第4次的时候就开始报这个错,感觉这中间我也没有做什么呀。怎么就连不上服务器了?
2.网上的解决办法真的是五花八门呀。但是看的是却是无从下手呀。
3.懒得尝试,直接卸载LR,重装LR,问题没有解决。
方法4到方法7都是网上找的,但是都不能解决。
4.在 run-time setting/browser emulation中将simulate a new user on each iteration 选项去掉(默认是选中的)。重新运行,由error变成warning,但是问题仍然未解决。继续把这个simulate a new user on each iteration 选项勾上,报的错和下图一致。
5.在preference中点击options,修改如下图中的三个参数值,将他们都改成1000:
修改为
修改完成了,但是问题还未解决。
6.修改Windows的注册表:
①win+r:输入regedit调出注册表编辑器:找到注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
②修改两个参数的值
TcpTimedWaitDelay默认值应该中是30s,这里我修改为5s(调小了)
也可以把MaxUserPort调大(如果这个值不是最大值的话),但是我的已经是65534,所以我就没有再调大了。
重新运行脚本,问题还是没有解决。接着找办法。
7.将脚本中的Mode=HTML方式,修改成Mode=HTTP方式。回放,脚本没有再报错。但是业务并不通过,再研究研究。
8.又再一次看了这个问题,访问的这个http://discuz.gtimg.cn/cloud/scripts/discuz_tips.js?v=1是页面请求之外的东西,难道出错在这个地方?,于是又查了一遍页面源码
于是又在网上查看了一些方法:打开function_core.php,
#cd /opt/lampp/htdocs/bbs/source/function
#vi function_core.php
注释掉图中的这几行:
再次运行脚本,没有报错了。但是还是业务不成功。
9.找到 DiscuzTips.php,注释掉echo $jsCode这一行
#cd /opt/lampp/htdocs/bbs/source/plugin/manyou/Service
#vi DiscuzTips.php
再次运行,没有报错,但是还是业务不成功。、
10.遇到这个问题,网上找的办法试了一圈,还是没能彻底解决我的问题。于是自己手写了脚本,运行ok了。
因而确定了问题是录制导致的,但是我还是没有能够找到解决问题的方法。再接再厉吧,loadrunner的坑很多,慢慢扫雷咯。
追加:
11、怀着是不是电脑是不是哪里出问题的侥幸心理,今天又重新调试了一次脚本,还是上次录制的脚本,竟然误打误撞的将问题解决了。找到了问题的根源是"RecContentType=text/html"这句,我把它改成了"RecContentType=text/http"竟然通过了。
RecContentType: 录制脚本时响应头的内容类型。例如text/html、 application/x-JavaScript等。当没有设置Resource属性时,用它来确定目标URL是否是可记录的资源。此属性包含主要的和次要的资源。最频繁使用的类型是 text、application、image。次要的类型根据资源不同变化很多。例如:"RecContentType=text/html":表示html文本。"RecContentType=application/msword":表示当前使用的是Msword。
修改的地方如下:
虽然问题解决了,但是还是不明白为什么这样做。于是想着是不是将RecContentType改成其他的是不是也可以呢?大胆的换成了application/javascript,http/xml,果然都是运行通过了。
至此,问题总算解决了,就是出现报错“Error -27796”的时候,RecContentType不能是"text/html"。