最近在与大家的讨论中发现了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——Simulate a new user on each iteration设置的更多相关文章

  1. Warning -27077: The "vuser_init" section contains web function(s) when the "Simulate a new user on each iteration" Run-Time Setting is ON.

    通过LR来录制登录过程并生成脚本,设置了自动关联,并回放录制脚本,观察回放日志发现没有报error信息,说明脚本没有问题,将脚本放入Controller中设置100个用户设置运行,发现运行一段时间开始 ...

  2. LoadRunner如何在脚本运行时修改log设置选项

    LoadRunner如何在脚本运行时修改log设置选项?答案是使用lr_set_debug_message函数: lr_set_debug_message Sets the message level ...

  3. LoadRunner回放脚本时,显示浏览器的设置

    打开LoadRunner的VuGen,选择Tools-->General Options-->Display,在Display里将 Show browser during replay打钩 ...

  4. LoadRunner学习笔记(二)

    LoadRunner Controller简介: 当虚拟用户脚本开发完成后,使用controller将这个执行脚本的用户从单用户转化为多用户,从而,模拟大量用户操作, 进而形成负债(多用户单循环,多用 ...

  5. 理解Loadrunner中的Browser Emulation Simulate

    案例 测试环境描述: 客户端 5台 Windows2000机器.服务器端  20台机器 一台F5(负载均衡设备,提供一个唯一的IP供客户端访问) 客户端绑定Host后,使用域名http://www.* ...

  6. Loadrunner脚本录制常见问题整理

    1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. 启动浏览器,打开Inter ...

  7. LoadRunner脚本设计、场景设计和结果分析

    本次笔记主要记录LoadRunner脚本设计.场景设计和结果分析   1. 脚本设计       录制模式            手工模式:插入步骤.手动编写       1.1  脚本增强:     ...

  8. LoadRunner 学习笔记(2)VuGen运行时设置Run-Time Setting

    定义:在Vugen中Run-Time Setting是用来设置脚本运行时所需要的相关选项

  9. LoadRunner常见问题整理(转)

    首先要感谢群友的无私分享,才能得到这篇好的学习资料,整理得太好了,所以收藏保存,方便以后学习. 一:LoadRunner常见问题整理 1.LR 脚本为空的解决方法: 1.去掉ie设置中的第三方支持取消 ...

随机推荐

  1. 洛谷-火柴棒等式-NOIP2008提高组复赛

    题目描述 Description 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: ...

  2. Nginx简单配置,部分来源于网络

    nginx.conf listener监听端口 server_name监听域名 location{}是用来为匹配的 URI 进行配置,URI 即语法中的“/uri/”.location  / { }匹 ...

  3. 重识 CSS

  4. mybatis结合redis实战二级缓存(六)

    之前的文章中我们意见分析了一级缓存.二级缓存的相关源码和基本原理,今天我们来分享下了mybatis二级缓存和redis的结合,当然mybatis二级缓存也可以和ehcache.memcache.OSC ...

  5. cmd 下登陆ftp及相关操作

    cmd 下登陆ftp及相关操作 2011-08-09 20:34:28|  分类: 小技巧|字号 订阅 一.举例 假设FTP地址为“ 61.129.83.39”(大家试验的时候不要以这个FTP去试,应 ...

  6. MC 跨周期 画线

    using System; using System.Drawing; using PowerLanguage.Function; using System.Collections; namespac ...

  7. 如何使用 AngularJS 的 ngShow 和 ngHide

    今天我们来看看怎样使用Angular的ngShow 和ngHide 指令来完成它们听起来应该完成的,显示和隐藏! 它们应该做的事 ngShow 和ngHide 允许我们显示或隐藏不同的元素.这有助于创 ...

  8. 访问nginx-php页面的时候 报access denied.

    访问页面的时候出现这个时access denied 只需到/usr/local/php/etc/php.ini中修改一下 把这个注释掉 ;open_basedir =  把这个值赋值为1  cgi.f ...

  9. 解决Sublime Text 3中文显示乱码(tab中文方块)问题,sublime tab乱码

    一.文本出现中文乱码问题 1.打开Sublime Text 3,按Ctrl+-打开控制行,复制粘贴以下python代码,然后回车运行. 2. 复制并粘贴如下代码: import urllib.requ ...

  10. Rsync数据远程同步备份

    rsync的使用方法 一.设置Rsync Server端 Rsync server需要设定四个方面: 1.规划建立备份目录区 2.设定: /etc/xinetd.d/rsync 3.设定: /etc/ ...