lr脚本软件哪个好用问题

&>&LoadRunner脚本录制常见问题
LoadRunner脚本录制常见问题
上传大小:112KB
LoadRunner脚本录制常见问题
综合评分:0
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有0条
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
LoadRunner脚本录制常见问题
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*投诉人姓名:
*投诉人联系方式:
*版权证明:
*详细原因:
LoadRunner脚本录制常见问题关于编程语言和脚本语言的关系问题(关于LoadRunner脚本)!请针对下面我问题的内容给予解答_百度知道
关于编程语言和脚本语言的关系问题(关于LoadRunner脚本)!请针对下面我问题的内容给予解答
我知道Python、JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言C、java、vb都属于编程语言但是,我在网上看到loadrunner默认的脚本生成语言为C,请问C怎么又成了loadrunner的脚本语言了?还...
我知道Python、JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言C、java、vb都属于编程语言但是,我在网上看到loadrunner默认的脚本生成语言为 C,请问C怎么又成了loadrunner的脚本语言了?还是说在loadrunner里,LR本身能将用C语言写的代码转换成自己所能够解释的脚本语言?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
顾永康知道合伙人
采纳数:180
获赞数:444
Loadrunner的脚本语言其实和C没什么区别。他内部的好多机制都是C实现的。不过是一种“类C”。 1:定义常量变量和C一样2:LR函数的参数使用与C有点不一样, 在LR中,C的变量和LR的参数是不一样的。任何C的变量都不能被LR的函数直接调用。应该用lr_eval_string来取值。3:什么循环语句,选择语句都和C一样4:一些函数的定义和C不一样。虽然名字一样,参数有不同5: 输入输出也有些不同。所以重点要突破的地方就是理清参数和变量直接的关系。和多熟悉一LR些函数,其他就是C语言的知识了。
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。提供企业信息化整体解决方案
LoadRunner中脚本回放问题及解决方法(下)
LoadRunner中脚本回放问题及解决方法(下)
| 作者: |
13:29:53| 阅读 0次
概述:在运行脚本回放过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难免会有问题,需要运行脚本进行验证,把问题都解决后才加入到场景中进行负载测试。本次接着给大家分享LoadRunner中脚本回放问题及解决方法下半篇。
本次接着给大家分享LoadRunner中脚本回放问题及解决方法下半篇。
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文件的头改为&?xml version=&1.0&encoding=&zh_cn& ?&,所以才会有此错误提示。
解决办法:下载两个补丁,分别为&LR80WebServicesFPI_setup.exe&和&lrunner_web_ services_patch_1.exe&安装上即可。
Step download timeout (120 seconds)
这是一个经常会遇到的问题,解决得办法走以下步骤:
修改run time setting中的请求超时时间,增加到600s,其中有三项的参数可以一次都修改了,HTTP-request connect timeout,HTTP-request receieve timeout,Step download timeout,分别建议修改为600、600、5000。run time setting设置完了后记住还需要在control组件的option的run time setting中设置相应的参数。
办法一不能解决的情况下,解决办法如下:设置runt time setting中的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,选项后再回放就成功了。切记此法只对windows系统起作用,此法来自zee的资料。
&Connection reset by peer
这个问题不多遇见,一般是由于下载的速度慢,导致超时,所以,需要调整一下超时时间。
解决办法:Run-time setting窗口中的&Internet Protocol&-&Preferences&设置set advanced options(设置高级选项),重新设置一下&HTTP-request connect timeout(sec),可以稍微设大一些&。
open many files
问题一般都在压力较大的时候出现,由于服务器或者应用中间件本身对于打开的文件数有最大值限制造成。
解决办法:修改操作系统的文件数限制,aix下面修改limits下的nofiles限制条件,增大或者设置为没有限制,尽量对涉及到的服务器都作修改。若解决不了,去查看应用服务器weblogic的commonEnv.sh文件,修改其中的nofiles文件max-nofiles数增大,应该就可以通过了,具体就是查找到nofiles方法,修改其中else条件的执行体,把文件打开数调大。修改前记住备份此文件,防止修改出错。linux上可以通过ulimit&HSn 4096来修改文件打开数限制,也可以通过ulimit -a来查看。linux上可以通过lsof -p pid | wc -l来查看进程打开的句柄数。
Failed to connect to server
这个问题一般是客户端链接到服务失败,原因有两个客户端连接限制(也就是压力负载机器),一个网络延迟严重。
解决办法:
修改负载机器注册表中的TcpTimedWaitDelay减小延时和MaxUserPort增加端口数。注:这将增加机器的负荷。
检查网络延迟情况,看问题出在什么环节。
建议为了减少这种情况,办法一最好测试前就完成了,保证干净的网络环境,每个负载机器的压力测试用户数不易过大,尽量平均每台负载器的用户数,这样以上问题出现的概率就很小了。
Overlapped transmission of request to ... WSA_IO_PENDING
解决方法:
在脚本前加入web_set_sockets_option(&OVERLAPPED_SEND&, &0&),禁用TTFB细分,问题即可解决,但是TTFB细分图将不能再使用
以通过增加连接池和应用系统的内存,每次增加25%。
Deleted the current transaction ... since response time is not accurate
这个问题不多遇见,一般出现在压力机器上发生ping值为负数(AMD双核CPU),可以重新启动pc机或者打补丁
HTTP Status-Code=500 (Internal Server Error) for
应用服务当掉,重新启动应用服务。
慧都控件|提供软件技术整体解决方案
云集全球三千余款优秀控件、软件产品,提供行业领先的咨询、培训与开发服务
企业QQ:|电话:023-
服务与支持
重庆 / 023-
北京 / 010-
400-700-1020
慧都科技有限公司 版权所有 Copyright 2003-
400-700-1020
<input type="hidden" id="url" value=""/>您的位置:
精品软件课程
快播播放器(Qvod Player)是一款基...
360安全卫士是当前功能最强、效果最好、最受...
会声会影(Corel VideoStudio...
腾讯QQ支持在线聊天、视频电话、点对点断点续...
搜狗拼音输入法是网上最流行、功能最强大的拼音...
Windows 7 是由微软公司开发的,具有...
小游戏推荐
出处:2345软件教程
您可能感兴趣的话题:
核心提示:在运行脚本回放过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难免会有问题,需要运行脚本进行验证
  在运行脚本回放过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难免会有问题,需要运行脚本进行验证,把问题都解决后才加入到场景中进行负载测试。下面结合常用的协议(如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=http://172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/ subOrderQuery.do
  错误分析:这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。
  如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。
  解决办法:例如上面的错误现象问题定位在某个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文件的头改为&?xml version="1.0"encoding="zh_cn" ?&,所以才会有此错误提示。
  解决办法:下载两个补丁,分别为“LR80WebServicesFPI_setup.exe”和“lrunner_web_ services_patch_1.exe”安装上即可。
相关教程推荐
相关软件推荐LoadRunner录制脚本常见问题
LR&脚本为空的解决方法:
1.去掉ie设置中的第三方支持取消掉
2.在系统属性-高级-性能-数据执行保护中,添加loadrunner安装目录中的vugen.exe文件
 遇到flight界面为空的解决的可能方法:1、如果安装了IE以外的浏览器,并且IE不是默认浏览器,则无法生成录制脚本2、如果录制脚本时IE不能
打开,则需要将浏览器的IE工具高级选项中,将“启用第三方浏览器扩展”的勾选去掉3、lr自带的webtours系统,如果点击Flights选项,出
现空白页面,请检查本机oracle的&PERL5LIB环境变量,我的解决办法是使用webtours的时候删除掉该变量的内容,使用oracle的时
候再填上该变量内容为什么该变量会影响webtours的使用,原因不明
1.LoadRunner录制脚本时为什么不弹出IE浏览器?
  当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。
  启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题
  提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。因此建议运行LoadRunner得主机上保持一个干净的测试环境。
  3.HTML-based&script与URL-based&script的脚本有什么区别?
  使用“HTML-based&script”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;使用
“URL-based&script”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别
生成对应方法。
  通常,基于浏览器的Web应用会使用“HTML-based&script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服
务器进行交互的Java&Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使
用了HTTPS安全协议,这时使用“URL-based&script”模式进行录制。
  5.运行时的Pacing设置主要影响什么?
  Pacing主要用来设置重复迭代脚本的间隔时间。共有三种方法:上次迭代结束后立刻开始、上次迭代结束后等待固定时间、按固定或随机的时间间隔开始执行新的迭代。
  根据实际需要设置迭代即可。通常,没有时间间隔会产生更大的压力。
  6.运行时设置Log标签中,如果没有勾选“Enable&logging”,则手工消息可以发送吗?
  Enable&logging选项仅影响自动日志记录和通过lr_log_message发送的消息。即使没有勾选,虚拟用户脚本中如果使用lr_message、lr_output_message、lr_error_message,仍然会记录其发出的消息。
  8.VuGen支持Netscape的客户证书吗?
  不支持。目前的VuGen&8.0版本中仅支持Internet&Explorer的客户端证书。录制脚本时可以先从Netscape中导出所需的证
书,然后将其导入到Internet&Explorer中,并确保以相同的顺序导出和导入这些证书。而且,在每台将要录制或运行需要证书的
Web&Vuser脚本的计算机上都要重复执行前面的过程。
  9.VuGen会修改录制浏览器中的代理服务器设置吗?
  会修改。在开始录制基于浏览器的Web&Vuser脚本时,VuGen首先会启动指定的浏览器。然后,VuGen会指示浏览器访问VuGen代理服务
器。为此,VuGen会修改录制浏览器上的代理服务器设置。默认情况下,VuGen会立即将代理服务器设置更改为Localhost:7777。录制之
后,VuGen会将原始代理服务器设置还原到该录制浏览器中。因此,在VuGen进行录制的过程中,不可以更改代理服务器设置,否则将无法正常进行。
  10.在LoadRunner脚本如何输出当前系统时间?
  LoadRunner提供了char&*ctime(const&time_t&*time)函数,调用参数为一个Long型的整数指针,用于存放返回时间的数值表示。
  调用语句与返回值如下示例:
  typedef&long&time_t;
  Action()
  time_t&t;
  lr_message(“Time&in&seconds&since&1/1/70:&%ld\n”,time(&t));
  lr_message(“System&time&and&date:&%s”,ctime(&t));
  输出结果为:
  Time&in&seconds&since&1/1/70:&
  System&time&and&date:Wed&Jul&25&10:19:28&2007
  11.一些Web虚拟用户脚本录制后立刻回放没有任何问题,但是当设置迭代次数大于1时,如果进行回放则只能成功迭代一次。为什么从第二次迭代开始发生错误?
  这种现象多是由于在“Run-time&Setting”的“Browse&Emulation”的设置中,勾选了
“Simulate&a&new&user&on&each&iteration”及其下面的选项
“Clear&cache&on&each&iteration”这两个选项的含义是每次迭代时模拟一个新的用户及每次迭代时清除缓存。
  由于脚本迭代时,init和end只能执行一次,如果每次迭代都模拟一个新的用户并清除缓存,则用户登录信息将一并清除,因此迭代时可能会发生错误。
  12.虚拟客户脚本“Run-time&Setting”中的线程和进程运行方式的区别?
  如果选择“Run&Vuser&as&a&process”,则场景运行时会为每一个虚拟用户创建一个进程;选择
“Run&Vuser&as&a&thread”则将每个虚拟用户作为一个线程来运行,在任务管理器中只看到一个mmdrv.exe,这种方式的运行效率
更高,能造成更大的压力,时默认选项。
  另外,如果启用了IP欺骗功能,则先在Controller中选中Tools菜单下的“Expert&Mode”,然后将Tools菜单下的“Options&General”标签页中的IP地址分配方式也设置为与Vuser运行方式一致,同为线程或进程方式。
  13.在Controller中运行Web相关测试场景时,经常会有很多超时错误提示,如何处理这类问题?
  这主要有脚本的默认超时设置引起。当回放Web脚本时,有时候由于服务器响应时间较长,会产生超时的错误。这时需要修改脚本的运行时配置。
  进入“Run-time&Setting”对话框后,依次进入“Internet&Protocol→Preference”。然后点击“Options…”按钮,进入高级设置对话框,可以修改各类超时设置的默认值。
  14.为什么Windows系统中的CPU、内存等资源仍然充足,但是模拟的用户数量却上不去?
  在Windows计算机的标准设置下,操作系统的默认限制只能使用几百个Vuser,这个限制与CPU或内存无关,主要是操作系统本身规定了默认的最
大线程数所导致。要想突破Windows这个限制,须修改Windows注册表。以Windows&XP&Professional为例。
  (1)打开注册表后,进入注册表项HKEY_LOCAL_MACHINE中的下列关键字:System\CurrentControlSet\Control\Session&Manager\SubSystems。
  (2)找到Windows关键字,Windows关键字如下所示:
  %SystemRoot%\system32\csrss.exe&bjectDirectory=\Windows
  SharedSection=2&Windows=On&SubSystemType=Windows&ServerDll=basesrv,1
  ServerDll=winsrv:UserServerDllInitialization,3&ServerDll=winsrv:ConServerDllInitialization,2
  ProfileControl=Off&MaxRequestThreads=16
  SharedSection=2关键字的格式为xxxx,yyyy,zzz。其中,xxxx定义了系统范围堆的最大值(以KB为单位),yyyy定义每个桌面堆得大小。
  (3)将yyyy的设置从3072更改为8192(即8MB),增加SharedSection参数值。
通过对注册表的更改,系统将允许运行更多的线程,因而可以在计算机上运行更多的Vuser。这意味着能够模拟的最大并发用户数量将不受Windows操作系统的限制,而只受硬件和内部可伸缩性限制的约束。
Error&-27728:&Step&download&timeout&(120&seconds)的解决方法
loadruner报错:Error&-27728:&Step&download&timeout&(120&seconds)&如何解决
语法检查通过,但是在并发执行一个查询时候报错
Action.c(16):&Error&-27728:&Step&download&timeout&(120&seconds)&has&expired&when&downloading&non-
resource(s),请问有啥子解决方法,我使用web_set_timeout&,好象不起作用,直接在option中设置timeout时间为
600,(单位应该是秒吧)还是没有起作用,结果都还是提示(120seconds),说明还是以120秒来判断的;使用
lrs_set_recv_timeout,语法检查不过,说明库函数里面没有这个函数。
尝试步骤:
设置超时时间到600秒,回放还是出错。
后来我设置了runt&time&setting中的internet&protocol-preferences中的advaced区域有一个winlnet&replay&instead&of&sockets选项,选项后再回放就成功了。
kernzhang解释如下(这里谢谢kernzhang,欢迎访问他的论坛:http://www.kernzhang.com):
这个问题很有意思!呵呵!首先LR是通过Microsoft&WinInet&DLL去录制web协议的!但是在
Control运行的时候它默认通过socket去模拟请求,因为这些可以真实的模拟带宽,而采用Microsoft&WinInet&DLL通过这个
DLL去访问网卡方式去模拟带宽,使得模拟不是很精确!而且也不支持unix的应用,但是使用这个确实有时无法处理winnet&Dll的一些请求,我认
为是它的一些BUG,比如说:回放时它会检查Content-Length,但是网页支持receive&more&data时,这时socket模拟会
一直等待直到timeout!
先说了一些优缺点,最后回到这个问题!这个问题分两个方面分析:
第一:你要明白web_set_timeout()这个函数的适用范围!比如说一个web_submit_data()中实际涵盖了10个对
Server&端的请求,这个函数是针对10个请求的总和时间的!(别犯低级错误,timeout分了connect,receive以及
download三个部分:)&)
第二:就是我解释的上面的一些BUG问题!
WinInet&dll在新版本中处理请求时可以异步的,就是不再是那种连接等待然后超时模式!但是LR用的socket是同步请求!只有等到
timeout才会退出!microsoft已经明确表示INTERNET_OPTION_RECEIVE_TIMEOUT&不再适用
于&Microsoft&Internet&Explorer&5.0,显而易见,他们处理请求采取了异步处理的方式!呵呵!这下大概可以圆满解释你的问题了!呵呵
这里,我补充如下:
VuGen专用的基于套接字的重播是一种可伸缩以便进行负载测试的轻型引擎。使用线程时是准确的。基于套接字的引擎不支持socks代理服务器。如果在这样的环境中录制,应该使用winInet重播引擎。
性能测试技术LoadRunner小技巧集锦&
&1、录制脚本中包含中文,出现乱码怎么办?
把录制选项中的Support&charset选中UTF-8
录制脚本后,切换到树视图中,打开相应的脚本页面。在右侧的PageView中录制的脚本呈现中文版式,但是当切换到Server&Response中,所有的中文全部换成的乱码,如“勌缞仫訆”。
原因是服务器端没有把响应的编码设置为gb2312
在IIS中找到Web.Config文件,在….节加 入
2、录制到的脚本是空白的
有可能是由于录制的URL地址采用的是localhost的问题,改成分配的IP地址或127.0.0.1试试。
3、插入文本检查点步骤时,使用web_reg_find,通常TextPfx和TextSfx中会包含双引号,需要进行转义(用斜杠),例如:
&&&&&&&web_reg_find("Search=Body",
&&&&&&&&&&&&&&"SaveCount=Welcome",
&&&&&&&&&&&&&"TextPfx=欢迎",
&&&&&&&&&&&&&&"TextSfx=",
&&&&&&&&&&&&&&LAST);
5、性能测试往往需要准备大批量的数据,大批量数据的生成方法有很多种,常见的有:
&&&&&&&(1)编写SQL语句来插入数据
(2)使用DataFactory等专业的数据生成工具
&&&&&&&(3)通过LoadRunner录制回放的方式重复执行生成大批量数据
使用DataFactory插入nchar数据类型的数据时会出现空值的情况,可以先修改数据库的数据类型设置,插完数据后再改回来
6、在录制脚本的过程中插入注释,录制后查看和理解脚本会更加方便。&
7、LoadRunner回放脚本时,在浏览器显示的中文是乱码
解决办法(1):
首先设置Run-Time&Settings&&&Browser&&&Browser&Emulation&&&User-Agent
然后设置IE:
查看-编码-钩上“自动选择”和Unicode(UTF-8)。
解决办法(2):
使用lr_convert_string_encoding函数来转换编码
下面是一个使用的例子:
lr_convert_string_encoding(lr_eval_string("{ReplyContents}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"ReplyMessage");
&&&&&&&web_submit_data("postreply.aspx_2",&
&&&&&&&&&&&&&&"Action=http://127.0.0.1/postreply.aspx?infloat=1&topicid=2&&inajax=1",&
&&&&&&&&&&&&&&"Method=POST",&
&&&&&&&&&&&&&&"EncType=multipart/form-data",&
&&&&&&&&&&&&&&"RecContentType=text/xml",&
&&&&&&&&&&&&&&"Referer=http://127.0.0.1/showtopic-2.aspx",&
&&&&&&&&&&&&&&"Snapshot=t9.inf",&
&&&&&&&&&&&&&&"Mode=HTML",&
&&&&&&&&&&&&&&ITEMDATA,&
&&&&&&&&&&&&&&"Name=iconid",&"Value=0",&ENDITEM,&
&&&&&&&&&&&&&&"Name=title",&"Value=",&ENDITEM,&
&&&&&&&&&&&&&&"Name=wysiwyg",&"Value=0",&ENDITEM,&
&&&&&&&&&&&&&&"Name=checkbox",&"Value=0",&ENDITEM,&
&&&&&&&&&&&&&&"Name=message",&"Value=[localimg=180,112]1[/localimg]\r\n\r\n{ReplyMessage}",&ENDITEM,&
&&&&&&&&&&&&&&"Name=e_mediatyperadio",&"Value=on",&ENDITEM,&
&&&&&&&&&&&&&&"Name=sl_attachdesc",&"Value=",&ENDITEM,&
&&&&&&&&&&&&&&"Name=attachid",&"Value=",&ENDITEM,&
&&&&&&&&&&&&&&"Name=attachdesc",&"Value=",&ENDITEM,&
&&&&&&&&&&&&&&"Name=localid",&"Value=",&ENDITEM,&
&&&&&&&&&&&&&&"Name=attachdesc",&"Value=",&ENDITEM,&
&&&&&&&&&&&&&&"Name=localid",&"Value=1",&ENDITEM,&
&&&&&&&&&&&&&&"Name=attachdesc",&"Value=",&ENDITEM,&
&&&&&&&&&&&&&&"Name=localid",&"Value=2",&ENDITEM,&
&&&&&&&&&&&&&&"Name=emailnotify",&"Value=on",&ENDITEM,&
&&&&&&&&&&&&&&"Name=postreplynotice",&"Value=on",&ENDITEM,&
&&&&&&&&&&&&&&"Name=postfile",&"Value=",&"File=Yes",&ENDITEM,&
&&&&&&&&&&&&&&"Name=postfile",&"Value=D:\\\\图片收集\\\\It's&about&time.JPG",&"File=Yes",&ENDITEM,&
&&&&&&&&&&&&&&"Name=postfile",&"Value=",&"File=Yes",&ENDITEM,&
&&&&&&&&&&&&&&"Name=uploadallowmax",&"Value=10",&ENDITEM,&
&&&&&&&&&&&&&&"Name=uploadallowtype",&"Value=jpg,gif",&ENDITEM,&
&&&&&&&&&&&&&&"Name=thumbwidth",&"Value=300",&ENDITEM,&
&&&&&&&&&&&&&&"Name=thumbheight",&"Value=250",&ENDITEM,&
&&&&&&&&&&&&&&"Name=noinsert",&"Value=0",&ENDITEM,&
&&&&&&&&&&&&&&LAST);
8、可以在LR测试脚本的目录中找到参数文件,直接修改参数文件
The&parameter&file&is&stored&in&the&script&directory&as&.dat&file&extension.&&It&can&be&opened&with&a&simple&text&editor&like&Notepad&as&it&is&stored&in&pure&text&format.&&Therefore,&you&can&manipulate&the&files&via&the&Notepad.&&You&can&also&use&office&applications&such&as&Microsoft&Excel&or&OpenOffice.org&Calc&to&work&on&the&file.&&This&greatly&the&amount&of&work&required&for&maintaining&a&long&list&of&data.
9、LR9.x启动VUGen时提示"Failed&to&connect&to&server"
After&upgrading&to&LoadRunner&9.x&I&started&getting&a&window&popup&which&said&"Failed&to&connect&to&server"&every&time&I&opened&virtual&user&generator&(vugen.exe).
The&solution&to&this&was&to&close&virtual&user&generator&and&delete&the&[vugen.ini]&file.
vugen.ini&is&found&in&the&%systemroot%&folder&on&your&Windows&PC&(usually&C:\WINDOWS&or&C:\WINNT).
Once&you've&deleted&the&file,&virtual&user&generator&will&open&without&any&issues&and&create&a&new&vugen.ini&file&automatically.
10、怎样抓取有相同左右边界的动态value?
怎样抓取有相同左右边界的动态value?例如:
stateID="d7lg0ehmjkkm6uin3s4boei7oq"&
stateID="cvopakp46ftsf8mh6l37ti3ubm"&
stateID="bv9mja8gtgr39ddibm5t9163re"&
web_reg_save_param里的ORD应该怎样设置?
ORD:&Indicates&the&ordinal&position&or&instance&of&the&match.&The&default&instance&is&1.&If&you&specify&"All,"&it&saves&the&parameter&values&in&an&array.
char&outFlightParam[50];&//&The&name&of&the&parameter&for&correlation&
char&outFlightParamVal[50];&//&The&formatted&value&of&outFlightParam&
web_reg_save_param("outFlightVal",&
&&&&&&&&"LB=outboundFlight&value=",&"RB=&",&
&&&&&&&&"ORD=ALL",&
&&&&&&&&"SaveLen=18",&
&&&&&&&&LAST);&
&&&&web_submit_form("reservations.pl",&
&&&&&&&&"Snapshot=t4.inf",&
&&&&&&&&ITEMDATA,&
&&&&&&&&"Name=depart",&"Value=London",&ENDITEM,&
&&&&&&&&"Name=departDate",&"Value=11/20/2003",&ENDITEM,&
&&&&&&&&"Name=arrive",&"Value=New&York",&ENDITEM,&
&&&&&&&&"Name=returnDate",&"Value=11/21/2003",&ENDITEM,&
&&&&&&&&"Name=numPassengers",&"Value=1",&ENDITEM,&
&&&&&&&&"Name=roundtrip",&"Value=",&ENDITEM,&
&&&&&&&&"Name=seatPref",&"Value=None",&ENDITEM,&
&&&&&&&&"Name=seatType",&"Value=Coach",&ENDITEM,&
&&&&&&&&"Name=findFlights.x",&"Value=83",&ENDITEM,&
&&&&&&&&"Name=findFlights.y",&"Value=16",&ENDITEM,&
&&&&&&&&LAST);&
&&&&sprintf(outFlightParam,&"{outFlightVal_%s}",&
&&&&&&&&lr_eval_string("{outFlightVal_count}"));&
&&&&sprintf(outFlightParamVal,&"Value=%s",&
&&&&&&&&lr_eval_string(outFlightParam));&
&&&&lr_message("The&value&argument&is&:&%s",&outFlightParamVal);&
&&&&web_submit_form("reservations.pl_2",&
&&&&&&&"Snapshot=t5.inf",&
&&&&&&&ITEMDATA,&
&&&&&&&"Name=outboundFlight",outFlightParamVal,&ENDITEM,&
&&&&&&&&"Name=reserveFlights.x",&"Value=92",&ENDITEM,&
&&&&&&&&"Name=reserveFlights.y",&"Value=10",&ENDITEM,&
&&&&&&&&LAST);
11、运行场景时提示“Step&download&timeout&(120&seconds)&has&expired&when&downloading&resource(s)”
vuser_init.c(12):&Error&-27728:&Step&download&timeout&(120&seconds)&has&expired&when&downloading&non-resource(s)(出现个别,可以忽略)
vuser_init.c(12):&Error&-27727:&Step&download&timeout&(120&seconds)&has&expired&when&downloading&resource(s).&Set&the&"Step&Timeout&caused&by&resources&is&a&warning"&Run-Time&Setting&to&Yes/No&to&have&this&message&as&a&warning/error,&respectively
如果觉得下载一个页面超过2分钟不是错误的话,可以在Run-Time设置中选择Preferences-&Options,修改Step&download&timeout(sec)的时间
或者把“Step&timeout&caused&by&resources&is&a&warning”设置为Yes,这样下载资源超时也只是作为警告,不作为错误提示,但是对于非资源的下载超时,则总是会提示错误的
12、用strtok函数分割字符串
需要在loadrunner里面获得“15”(下面红色高亮的部分),并做成关联参数。
//Body&response&内容:&
&;&PRE&//OK[8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1
用web_reg_save_param取出“8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1”这一段,然后用strtok函数切割出一个个数字,第四个数字就是要找的值
extern&char&*&strtok(char&*&string,&const&char&*&delimiters&);&//&Explicit&declaration&
char&separators[]&=&",";
lr_save_string("1,2,3,4,5,6","str");
token&=&(char&*)strtok(lr_eval_string("{str}"),&separators);&//&Get&the&first&token&
if&(!token)&{&
&&&&&&&&lr_output_message&("No&tokens&found&in&string!");&
&&&&&&&&return(&-1&);&
while&(token&!=&NULL&)&{&//&While&valid&tokens&are&returned&
&&&&&&&lr_output_message&("%s",&token&);&
&&&&&&&token&=&(char&*)strtok(NULL,&separators);&//&Get&the&next&token&
13、LoadRunner没有购买webservice协议的license,只有http的,可不可以完全用http协议模拟webservice?
&可以,参考:
http://blog.testsautomation.com/2009/01/web-services-performance-using-loadrunner/
http://blog.testsautomation.com/2009/05/validating-web-service-response-with-xpath/
&14、在场景设置中不忽略思考时间,但是在查看响应时间的时候怎样让LR自动在响应时间里减去思考时间?
&在analysis中找到了设置是否在报告中包含思考时间的地方做相应的设置即可:
15、LoadRunner在运行过程中停掉1半虚拟用户
Another&issue&that&I’m&facing&from&time&to&time&is&that&LoadRunner&stops&50%&of&running&users&without&any&notification,&issue,&error&message&etc.&I’ve&find&out&that&it&happens&only&when&running&with&log&level&set&to&‘always&send&a&message’.&Because&of&that,&I&suggest&to&run&with&log&level&set&to&‘Send&message&only&when&error&occur’.
16、LoadRunner录制不了任何东西
Sometimes&LoadRunner&is&not&recording&anything&while&browsing&using&IE.&I&have&no&idea&why&but&the&fastest&solution&is&to&restart&whole&LR.&Maybe&some&of&you&have&good&explanation&for&that?
17、测试RTMP协议应该在LoadRunner选择什么协议来录制?
&用flex协议
有这几个函数可用:
flex_rtmp_connect&&Connects&a&client&to&an&RTMP&server&and&sets&connection&options.&&
flex_rtmp_disconnect&&Disconnects&a&client&from&an&RTMP&server.&&
flex_rtmp_send&&Sends&messages&to&an&RTMP&server.&&
flex_rtmp_receive&&Receives&responses&from&an&RTMP&server
Flex&can&record&and&replay&scripts&involving&RTMP&(Real&Time&Messaging&Protocol).&In&order&to&enable&RTMP&simulation,&you&must&configure&the&recording&options&for&the&Flex&protocol.
To&enable&RTMP:
1&Open&the&Recording&Options&dialog&box&by&selecting&Tools&&&Recording&Options&or&clicking&the&Options&button&in&the&Start&Recording&dialog&box.
2&In&the&Network&&&Port&Mapping&node&click&Options.
3&Set&the&Send-Receive&buffer&size&threshold&to&1500.
18、如何在LoadRunner中运行QTP脚本?
  1、运行准备:
1)勾选QTP的Tools--Options--Run的"Alow&other&Mercury&products&to&run&tests&and&components"
2)录制需要在lr中运行的QTP脚本,并且在QTP脚本中设置事务,Services.StartTransaction&"start"与Services.EndTransaction&"start"
2、运行QTP脚本
在LR中运行时选择QTP脚本,为QTP脚本存放目录下文件扩展名为.usr的文件。
 注:LR中运行QTP脚本时,只能有一个Vuser,否则将报错:
  The&load&generator&is&currently&running&the&maximum&number&of&Vusers&of&this&type
19、在LR中如何忽略Socket接收数据的验证
在LR中对Socket进行性能测试时,LR会自己判断lrs_receive回来的数据的长度,而如果长度不符的话会有时间延迟的情况(这是性能测试完全不能接受的事情),如果做到这一点呢,经过反复尝试,发现一种简单的方法(用*代替具体的长度):
类似于将:
recv&buf1&12
"Hello,&Denny"
recv&buf1&*
"Hello,&Denny"
20、LoadRunner9.5的Controller中不能添加Apache的监控
在C:\Program&Files\HP\LoadRunner\dat\online_graphs中找到online_resource_graphs.rmd文件,修改[Apache]部分中的EnableInUI为1
http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=+&threadId=1229523
21、VB&Vuser开发ADO脚本,提示“user-defined&type&not&defined”
想在VB&Vuser写入模拟数据操作的过程,然后在VB&Vuser里定义了这个全局变量
Private&m_Conn&As&ADODB.Connection&'连接对象
Private&m_Reco&As&ADODB.Recordset&&'结果集
但是在VB&Vuser中不识别这个对象,报出user-defined&type&not&defined
需要在Run-Time&设置中的VBA部分把ADO的库选上
如果用VB&Script虚拟用户来开发就不要,直接用CreateObject来创建ADO对象即可
22、loadrunner9.5录制脚本时出现c:\PROGRA~1\MICROS~1\office12\Grooveutil.DLL时出错内存位置访问无效
Office2007的问题,IE加载项禁用Groove&&GFSBrowser&Helper&组件
23、LR自带的例子端口号怎么修改?
LR自带的例子端口号是1080,我怎么样把这个端口设置我自己想用的端口号8088,在什么地方设置
在LR安装目录下,找到Xitami.config文件,找到portbase,可以修改它(默认是1000);
默认的端口号是portbase+80;
要把端口号改成8088,就把portionbase改为8008,保存之后就是了()。
24、用Web_reg_find查找中文字符串时查找不到
脚本文件里有个default.cfg&,里面有个参数是&UTF8InputOutput&,将其值改为0
25、替代IP&Wizard的脚本
http://hi.baidu.com/higkoo/blog/item/39bbb21bc33d76dcac6e751c.html
LoadRunner自带的“IP&Wizard”用起来非常麻烦,要不停的点,重要的是最后还必须重启系统生效。
于是乎写个脚本替代之:
1.&假设客户端IP为&192.168.10.31
2.&假设服务端IP为&192.168.10.10
3.&需要模拟的IP为&110.119.120.122
那么,客户端提供添加虚拟IP的BAT脚本:
netsh&&&&interface&&&&ip&&&&add&&&&address&&&&本地连接&&&&110.119.120.122&&&&255.255.0.0
对应的删除设置为:
netsh&&&&interface&&&&ip&&&&del&&&&address&&&&本地连接&&&&110.119.120.122
对应服务器添加虚拟路由的Shell脚本:
route&add&-host&110.119.120.122&gw&192.168.10.31
删除路由的脚本:
route&del&-host&110.119.120.122&gw&192.168.10.31
这样就非常方便了,不用重启任何机器,执行脚本就生效,再执行脚本就取消。
26、如何从命令行调用LoadRunner脚本?
&Here&is&the&command&line&that&you&need&to&execute&to&run&a&VuGen&script&from&the&command&prompt:&
&&&\bin\mmdrv.exe&-usr&&
In&order&to&get&all&the&other&options&that&go&with&the&command,&run&mmdrv.exe&from&the&command&prompt&without&any&options.
27、请问"int64这个类型,在LR中怎么表示"。我将一段C的代码放在LR中,LR不认int64这个类型,怎么解决?
&把那段C代码做成DLL,然后在LR中调用
28、LoadRunner监控远程机器Windows资源,提示“net&use&failed”
解决办法:
在被监控机器上更改本地帐户的共享和安全模式为经典模式。控制面板-&管理工具-&本地安全策略-&网络访问:本地帐户的共享和安全模式-&经典模式。
监视连接前的准备工作:
首先保证被监视的windows系统开启以下二个服务Remote&Procedure&Call(RPC)&和Remote&Registry&Service&
被监视的WINDOWS机器:右击我的电脑,选择管理-&共享文件夹-&共享&在这里面要有C$这个共享文件夹,(要是没有自己手动加)
然后保证在安装LR的机器上使用运行.输入\\被监视机器IP\C$&然后输入管理员帐号和密码,如果能看到被监视机器的C盘了,就说明你得到了那台机器的管理员权限,可以使用LR去连接了
Loadrunner脚本回放&场景运行过程中常见错误分析
问题二:LoadRunner脚本中出现乱码问题现象某个链接或者图片名称为中文乱码,脚本运行无法通过。
  错误分析
  脚本录制可能采用的是URL-based&script方式,如果程序定义的字符集合采用的是国际标准,脚本就会出现乱码现象。
  解决办法重新录制脚本,在录制脚本前,打开录制选项配置对话框进行设置,在“Recording&Options”的“Advanced”选项里先将“Surport&Charset”选中,然后选中支持“UTF-8”的选项。
问题五:LoadRunner不执行检查方法错误现象在脚本中插入函数Web_find,在脚本中设置文本以及图像的检查点,但是在回放过程中并没有对设置的检查点进行检查,即Web_find失效。
  错误分析
  由于检查功能会消耗一定的资源,因此LoadRunner默认关闭了对文本以及图像的检查,所以在设置检查点后,需要开启检查功能。
  解决办法打开运行环境设置对话框进行设置,在“Run-time&Settings”的“Internet&Protocol”选项里的“Perference”中勾选“Check”下的“Enable&Image&and&text&check”选项。
  需要注意的是,回放脚本时出现的错误有时是程序自身的原因导致的,因此在解决脚本回放问题前必须保证程序录制出的脚本是正确的。
  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=http://172.18.20.70:7001
/workflow/bjtel/leasedline/&querystat/&subOrderQuery.do
  错误分析:这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。
  如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。
  解决办法:例如上面的错误现象问题定位在某个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文件的头改为
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 手机脚本制作 的文章

 

随机推荐