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)强制设置日志启用,只查看基本内容。
版权声明:51Testing软件测试网获作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。