A.5 运行设置(Run-Time Setting)
运行设置提供了在脚本运行时所需要的相关选项。性能测试的关键之一就是能否通过脚本来完全模拟用户的行为,通过运行设置可以让脚本运行得更加人性化。
在LoadRunner 11中可以通过Vuser菜单下的Run-Time Setting访问,也可以通过在左侧Action列表中的右键菜单访问,还可以直接使用F4快捷键访问。
A.5.1 Run Logic
脚本是如何运行的以及每个Action和Action之间运行的先后顺序就是在这里设置的。
首先要介绍一下lr_output_message()函数。这个函数和C语言中的printf有些类似,其作用是将内容输出到Replay Log中(注意在输出的内容上是需要考虑格式的)。
如果要输出整数型的内容,应该这样写:
int x;
x=10;
lr_output_message("%d",x);
而如果要输出一个字符串,那么需要这样写:
Char *x;
x="welcome to Loadrunner!";
lr_output_message("%s",x);
运行脚本后,对应的内容会显示在Replay Log中。
接着我们在各个Action中插入lr_output_message()函数。
在Vuser_init中写入以下内容:
lr_output_message("this is Vuser_init");
在Action中写入以下内容:
lr_output_message("this is action");
在Vuser_end中写入以下内容:
lr_output_message("this is Vuser_end");
回放脚本,在日志中可以看到脚本的运行顺序,脚本运行的顺序和脚本的名称没有关系,而是与Run Logic的设置有关,如图A.56所示。
单击右侧的Insert Action按钮可以将脚本添加到运行逻辑中,通过Move Up /Move Down按钮可以将脚本的先后顺序进行调整。
在该窗口中修改Iterations迭代的值为2,可以看到在Run上多了一个x2的标记,如图A.57所示。
图A.56 Run Logic设置窗口 图A.57 在Run Logic中设置两次迭代
这里x2说明Run下的Action将会运行两次,运行脚本可以看到以下日志信息:
vuser_init.c(3): this is Vuser_init Ending action Vuser_init. Running Vuser... Starting iteration 1. Starting action Action. Action.c(3): this is action Ending action Action. Ending iteration 1. Starting iteration 2. Starting action Action. Action.c(3): this is action Ending action Action. Ending iteration 2. Ending Vuser... Starting action Vuser_end. vuser_end.c(3): this is vuser_end Ending action vuser_end. |
可以看到this is action被显示了两次,说明Action()函数被运行了两次。再观察日志,能够发现在每次迭代进行时,都可以得到以下成对的信息:
Starting iteration X
Ending iteration X
这个信息说明当前所在的迭代次数。先强调一下,只有在Run上的迭代次数才能产生这样的迭代效果。
现在选择Run右键菜单,打开属性设置对话框,如图A.58所示。
Run Logic提供了两种运行模式:Sequential(顺序)模式和Random(随机)模式。而Iterations用来设置Run上的迭代次数。
设置Run Logic为Sequential模式,Iterations为2。Run下的所有脚本将按照从上到下的先后顺序运行。同时在Run上会出现一个循环的显示,如图A.59所示。
图A.58 设置Run的属性 图A.59 Run的顺序模式
如果选择Random模式,那么在Run下的所有脚本将根据各自设置的比例进行随机选择并运行。这时Run上的标志会多出一个百分比符号,如图A.60所示。这里需要对Run下的每一个Action进行单独的属性设置,修改它们的百分比。
通过Random这种方式,能方便地生成一些随机用户行为的模拟。例如需要模拟用户有40%的可能性去注册,有60%的可能性去登录,就可以通过Action在Run Logic中的随机运行来简便地解决这个问题,如图A.61所示。
图A.60 Run的随机模式 图A.61 Random模式实现多Action概率选择
Block是一个很有趣的功能,它提供了一个脚本块的功能,方便对脚本进行层次组合。通过单击图A.56右侧的Insert Block按钮可以为脚本添加一个块,在这个块中可以继续添加脚本,而每个块都可以实现顺序/随机的运行方式,并且块上还能设置循环的次数,通过这种块的扩展,就能运行各种复杂的脚本。
例如,用户访问论坛,可以有图A.62所示的操作路径。
图A.62 用户访问论坛的逻辑路径
版权声明:51Testing软件测试网获作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。