运行设置—性能测试进阶指南 LoadRunner 11实战(第二版)

发表于:2015-1-12 14:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈霁、李锋、王臣钧    来源:51Testing软件测试网原创

(51Testing软件测试网获得作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。)
  A.5.2  Pacing
  配置脚本运行中每次迭代之间的等待时间。如果需要周期性在脚本中重复做某些事情,可以通过Pacing来实现,如图A.65所示。
  
图A.65  Pacing策略设置
  Pacing是根据脚本的Iteration来执行,也就是说每出现一次Starting Iteration或者Ending Iteration就会检查一次Pacing设置。
  1.As soon as the previous iteration ends
  默认设置下前一次迭代和后一次迭代之间无等待时间。
  2.After the previous iteration ends
  这里可以设置当前脚本Ending Iteration后,需要等多长时间再进行下一次Starting Iteration。有两种方式,一种是fixed,也就是指固定等多少时间,另一种是random,即随机等待某个范围内的时间。
  例如,希望模拟发一个帖子后等待5分钟再发下一个帖子,一共发50个帖子,那么可以将发帖做成一个Action,通过在Run上设置50次迭代,然后设置fixed的值为300秒即可。
  3.At(provided that the previous iteration ends by that time)
  这里和上面的不同点在于,Pacing的时间是指前一个脚本的Strating Iteration到下一个脚本的Starting Iteration之间的时间。这里同样可以设置为fixed或者random方式。如果要模拟用户每隔5分钟发一个帖子,一共发50个帖子,那么可以将发帖做成一个Action,通过在Run上设置50次迭代,然后设置fixed的值为300秒即可。
  补充:两种方式的区别
  With是指前一次Ending Iteration到下一次Starting Iteration之间的时间。
  At是指前一次Starting Iteration到下一次Starting Iteration之间的时间,所以At包含了前一次迭代执行的时间。
  在At模式下,一次迭代执行的时间若大于Pacing的时间,则系统会提示无法达到Pacing的时间设置,脚本不做等待立即运行下一次迭代,可以用来验证一次迭代的处理时间是否在期望的阈值内。
  A.5.3  Log
  该选项提供了一定的调试分析基础,脚本的回放验证很多时候就是依靠日志来实现的,如图A.66所示。
  当脚本运行时,VuGen会将相关日志信息显示在界面底部的output window中的Replay Log标签内,在默认情况下是记录日志并且使用标准日志方式。日志分为以下两大类:
  Standard Log(标准日志)
  Extended Log(扩展日志)
  1.Parameter substitution
  将参数赋值操作作为日志输出(输出内容为蓝色)。
  2.Data returned by server
  将服务器返回的请求作为日志输出。
  3.Advanced trace
  高级跟踪日志。
  日志的等级越高,那么日志所记录的内容就越多,详细的日志虽然可以帮助我们更清晰地了解脚本执行的内容,但是也为查找信息带来了不便。这里常用的日志设置方法是打开Extended Log下的Parameter Substitution选项,在日志中显示参数的取值。
  由于选项打开后,日志的返回非常多,可以使用lr_set_debug_message()函数手动控制日志的显示。该函数的格式为lr_set_debug_message(日志格式,是否应用),例如:
  lr_set_debug_message(16|4,1);//打开日志,并且打开扩展日志下的参数跟踪功能
  补充:日志格式
  lr_set_debug_message()函数中的日志格式包含两层意思,用|(竖线)进行分隔。
  (1)日志使用的类型(不显示日志/显示错误日志/显示扩展日志)。上面例子中的16是指LR_MSG_CLASS_EXTENDED_LOG,即打开扩展日志。在默认的C语言环境下使用LR_系列命令,也可以直接使用数字,如表A.1所示。
  表A.1  日志使用类型
  
  (2)竖线后的内容通过逗号又分为两块。逗号前的是使用扩展日志的级别(参数取值/服务器返回/高级跟踪)。在上面的例子中4就是指打开了参数取值的日志规则,如表A.2所示。
  表A.2  扩展日志级别
  
  (3)逗号后的内容用来确定否应用日志规则。如果设置为启用状态那么会覆盖Runtime Setting中对日志的设置。在上面的例子中1就是打开手工日志功能,如表A.3所示。
  表A.3  日志启动选项
  
  通过对以上两个参数的设置,在脚本运行中可以随心所欲地设置所需要进行日志跟踪的内容,方便定位和分析用户行为模拟的状况。
  例如,在Runtime setting中关闭了日志显示功能,但是使用下面的脚本可以强行显示参数赋值和日志输出信息,而关闭后日志和参数赋值就不会显示,也可以设置只看日志不看参数赋值。
  Action()
  {
  lr_set_debug_message(16|4,1);//打开日志
  lr_save_string("can see param","temp");
  lr_log_message("------------------this is log can see--------------");
  lr_set_debug_message(0,1);//设置日志关闭
  lr_save_string("can't see param","temp");
  lr_log_message("------------------this is log can't see--------------");
  lr_set_debug_message(1|2,1);//日志启用不看参数
  lr_save_string("can't see param","temp");
  lr_log_message("------------------this is log can see--------------");
  }
  首先使用lr_set_debug_message(16|4,1)强制设置日志为启用,并且是扩展日志带参数取值显示,然后使用lr_set_debug_message(0,1)强制设置日志关闭,最后使用lr_set_debug_message(1|2,1)强制设置日志启用,只查看基本内容。
本文选自《性能测试进阶指南—LoadRunner 11实战(第二版)》,本站经作者的授权。
版权声明:51Testing软件测试网获作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
53/5<12345>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号