关注LoadRunner脚本回放日志中的Warning信息

 

最近在与大家的讨论中发现了LoadRunner的很多问题,出于解决问题的出发点,我也就相关自己不理解的问题在Google中搜索了一番,并通过一些实例也去实际操作了一遍,发现很多问题确实并不是那么难解决,而只是我们不够细心,没有认真去分析和总结。这里简单列举我最近去研究的一个问题,就是关于LoadRunner在脚本回放日志中出现的Warning信息,也就是所谓的警告信息,通常我们可能觉得只要在录制回放过程中没有报error就认为脚本是ok的,但是到真正去场景中去运行才发现,会不断报错,而且很多错误都觉得很摸不到头脑,因为总会出现一些我们始料不及又难以理解的错误信息,其实这个时候我们并是第一时间就去寻求帮助,去论坛发贴,因为你没有到错误的根本,别人也很难帮你,如果说贴出脚本帮你调试,那估计有这个时间的人也不多,所以解决问题的方法很重要,这种方法最主要还是要靠自己来分析和总结,哪怕是最后没有分析出什么,也至少先去google一下,如果有解答最好,没有解答,可能不是一般的问题,可能大家都没有碰到,这就说明这个问题可能是由于我的操作的失误等等。所以说解决问题应该先问自己,我分析了吗?

我通过java写了一个简单的登录系统页面,通过LR来录制登录过程并生成脚本,设置了自动关联,并回放录制脚本,观察回放日志发现没有报error信息,说明脚本没有问题,将脚本放入Controller中设置100个用户设置运行,发现运行一段时间开始报错,这里先不说报什么错,继续观察脚本,回到Vuser中调试,再次回访观察日志文件,发现如下信息:

Warning -27077: The "vuser_init" section contains web function(s) when the "Simulate a new user on each iteration" Run-Time Setting is ON.  This may produce unpredictable results with multiple iterations   [MsgId: MWAR-27077] 仔细分析发现这里的警告信息提示"Simulate a new user on each iteration",表示在每次迭代都模拟一个新的用户,对于web登录系统来说,通常都是用session来保存cookie信息,而"Simulate a new user on each iteration"是LR中的一项缺省设置,按照LR手册来讲,这个选项一般带来的副作用并不十分明确。我们再来做另外一个实例,就是一个数据添加页面,通过录制脚本来添加数据,回放过程中也提示该信息,没有提示error信息,将脚本放入Controller中运行,设置100个用户,设置每个用户迭代运行2次,按照计算来讲就是添加200条记录,开始运行,结果发现实际数据库中只新增了100条记录,再回头寻找原因发现脚本回放中的"Simulate a new user on each iteration",会不会跟这个有关系,根据理解,每次迭代模拟一个新用户来运行,而且该设置在LR中缺省,并默认也是情况缓存的,也就是说同时情况了session信息,导致每次都需要重新来建立新的session才能可以添加数据,在分析日志发现在循环迭代中有一个访问页面timeout.jsp,从这里可以发现是session超时引起的,可以猜想在两次迭代中肯定是清除了cookie。在LR中找到"Simulate a new user on each iteration"的设置区域,如下图:

通过上图发现LR默认就是设置勾选"Simulate a new user on each iteration"该选项,去掉勾选之后再回放脚本,观察回放日志发现,Warning信息已经消失了。

同样将脚本放置Contoller中继续之前设置,开始循环运行,结果会如期而至的。

通过两个简单的实例来说明LR中脚本调试的一些关注点,对于日志中警告信息并不是没有原因的,既然是警告信息就总有可能遇到,不然系统也不会给出提示,当然在web测试中可能还是特别的多见,其实在做关联的时候也经常有warning提示。如果大家做过客户端软件的压力测试时,应该就比较熟悉warning了,通常一些客户端软件由于一些特定的协议,LR支持不太好,总会在录制的脚本运行之后发现有丢包现象,但是不会以错误的形式来提示,而是在回放日志以warning来提示。

以上是个人在学习LR中的一点收获,通过不断总结,才会积累的更多,LoadRunner其实还是比较复杂的,如果简单的问题都不能搞明白,后面的分析就更无从谈起了。

关注LoadRunner脚本回放日志中的Warning信息-转载的更多相关文章

  1. LoadRunner脚本回放日志中的Warning信息

    关注LoadRunner脚本回放日志中的Warning信息   最近在与大家的讨论中发现了LoadRunner的很多问题,出于解决问题的出发点,我也就相关自己不理解的问题在Google中搜索了一番,并 ...

  2. Loadrunner脚本回放无法准确定位欲删除元素

    Loadrunner脚本回放无法准确定位欲删除元素 问题: loadrunner脚本回放无法准确定位欲删除元素 详细: 我司ocrm系统,我的工作台菜单->我的综合工作台子页面下,工作日志页面删 ...

  3. 解决loadrunner 脚本和replaylog中的中文乱码问题

    解决loadrunner 脚本和replaylog中的中文乱码问题 解决这个问题必须认识到一个事实就是,loadrunner和测试服务器交换数据使用的是utf8格式,但是展现在replaylog中是使 ...

  4. 如何解决loadrunner回放日志中的乱码问题

    在Loadrunner回放脚本时,会看到replay log区会展示脚本回放时的信息.有时候选中了打印服务器返回具体信息后,服务器返回的中文字符为乱码.怎么破? 原来Loadrunner的replay ...

  5. Loadrunner脚本回放 场景运行过程中常见错误分析

    问题一:Loadrunner超时错误问题描述 Loadrunner超时错误:在录制Web协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同. 问题现象Error -27728: ...

  6. LoadRunner脚本回放与设置

    一.runtime setting 1.迭代次数设置与迭代步长(循环间隔时间) 2.日志打印设置       二.实时观看回放 1.动态回放与静态回放(静态回放时,不会有逐行高亮显示:动态回放时高亮显 ...

  7. How To:分析ORACLE监听日志中的IP信息

    有时候需要分析出ORACLE日志监听中的IP信息,分享一个组合命令,Linux的shell下运行正常. grep "HOST=.*establish.*\* 0" listener ...

  8. loadrunner 脚本和replaylog中的中文乱码问题(转载)

    解决这个问题必须认识到一个事实就是,loadrunner和测试服务器交换数据使用的是utf8格式,但是展现在replaylog中是使用gb2312格式,而且在脚本中如何使用web_reg_find的时 ...

  9. java Exception 出错的栈信息打印到日志中 打印堆栈信息

    我们在开发程序的过程当中,日志是必不可少的工具,这有助于我们分析问题的原因,和出错的详细信息,而java的异常机制又会方便且迅速的帮我们找到出错行的位置. try { .... } catch (Ex ...

随机推荐

  1. jQuery Mobile里xxx怎么用呀?(控件篇)

    jQuery Mobile里都有什么控件? http://api.jquerymobile.com/category/widgets/ jQuery Mobile里slider控件的change事件怎 ...

  2. prefix和unprefix

    exports._esModule = true; exports.default = { prefix: function prefix(prop){ if (prop[0] === '-'){ v ...

  3. 实现一个div在浏览器水平居中

    第一种方法: div { margin: 0 auto; width: 960px; } 第二种方法(兼容IE): body { text-align: center; } div { margin: ...

  4. 51nod贪心算法入门-----任务分配问题

    任务执行顺序 有N个任务需要执行,第i个任务计算时占R[i]个空间,而后会释放一部分,最后储存计算结果需要占据O[i]个空间(O[i] < R[i]). 分析: 可以抽象成,从一个整数开始,每次 ...

  5. Automotive Security的一些资料和心得(4):Automotive Safeguards

    通常一辆汽车会包括超过80个ECUs.所有软件代码大小正在快速增加,将会超过1GB.软件protection是必不可少的. 1. 软件保护 1.1. 安全boot Software violating ...

  6. 如何获取HttpServletResponse里面的内容

    背景:在SPRING 框架之中, 有一个服务端需要提供多种形态的服务,这里的多种形态只是返回值得展示形式(其实 数据内在逻辑完全一样), 比如: 形式1:   JSONP({“key1”: value ...

  7. bzoj 2555: SubString 后缀自动机+LCT

    2555: SubString Time Limit: 30 Sec  Memory Limit: 512 MBSubmit: 688  Solved: 235[Submit][Status][Dis ...

  8. codeforces 387C George and Number

    这道题目的意思是对于每个要删除的数字,向前或向后找到一块连续的数字,而它是其中最小的: 很容易看出对于所有要先删除的数字要从大到小删除: 然后对于每个要删除的字母,要找到比他小的,但是在原数列中又靠它 ...

  9. Fast CGI 工作原理

    http://www.cppblog.com/woaidongmao/archive/2011/06/21/149092.html 一.FastCGI是什么? FastCGI是语言无关的.可伸缩架构的 ...

  10. UPUPW PHP环境集成包

    UPUPW PHP环境集成包 http://www.upupw.net/