LoadRunner脚本实例来验证参数化的取值
问题提出: 主要想试验下,在Controller中,多个用户,多次迭代中参数的取值.
方法:
脚本: 我把取到的参数值和对应的VuserID记录下来保存到一个文件中,下面是例子的脚本
long fileopen;
char *filename = "C:\temp\params.log";
vuser_init()
{
if ((fileopen = fopen(filename,"a+")) == NULL) {
lr_error_message ("file isn't open,path=%s",filename);
return 0;
}
return 0;
}
Action()
{
int id,scid;
char *vuser_group;
//typedef long time_t;
//time_t t;
long t;
char *a = "{aaa}";
char *b = "{bbb}";
lr_whoami(&id, &vuser_group, &scid);
fprintf(fileopen,"%d,%s,%s,%s",id,lr_eval_string (a),lr_eval_string (b),ctime(&t));
return 0;
}
vuser_end()
{
fclose(fileopen);
return 0;
}
参数设置为:
取唯一值,每次迭代更新。
运行时设置的迭代次数为2。
场景的设置:
虚拟用户数:5个
运行模式:没有设置duration,选择的“Run until complete”
完成后的日志文件params.log的内容如下:
1,a1,b1,Thu Jan 01 08:00:05 1970
1,a2,b2,Thu Jan 01 08:00:05 1970
10,a5,b5,Thu Jan 01 08:00:05 1970
10,a6,b6,Thu Jan 01 08:00:05 1970
2,a3,b3,Thu Jan 01 08:00:05 1970
2,a4,b4,Thu Jan 01 08:00:05 1970
30,a9,b9,Thu Jan 01 08:00:05 1970
30,a10,b10,Thu Jan 01 08:00:05 1970
21,a7,b7,Thu Jan 01 08:00:05 1970
21,a8,b8,Thu Jan 01 08:00:05 1970
从生成的日志文件中可以看到VuserID分别为1,2,10,21,30
第一次迭代取参数分别为1,3,5,7,9
第二次迭代取参数分别为2,4,6,8,10
那试验的结果就是每个Vuser取参数的时候相同的Vuser在多个迭代中取的是连续的。不同的Vuser第一个的取值是计算了迭代次数后的那个顺序上的值。