loadrunner生成随机数
随机函数的在Loadrunner中的一些的用法
有时我在这脚本中需要随机的取下拉菜单或列表(list)中的值,那么我们就要用到随机数。下面就随机数的用法举例说明下.
实例一:
str=rand(); //生成任意随机数 str=rand()%200 //生成最大值为200的随机数 str=rand()%100+200 //生成200-300之间的随机数
举例:
int iRand;
Action()
{ srand(time(NULL)); //特别注意:加上这句,每次取不同的随机值
iRand = rand()%100; if( 30>=iRand ) { lr_output_message("The value of iRand is:%d,iRand < 30",iRand); }
else { lr_output_message("The value of iRand is:%d,iRand > 30",iRand); }
return 0; }
实例二:
在关联中的一点应用:(确定一个关联中count的值)
web_reg_save_param("search_param", "LB=<p><A HREF=", "RB=>", "ORD=All"); ... search rand_selection = ( rand() % atoi(lr_eval_string("{search_param_count}")) + 1);
实例三:
产生一个新值(randselection)作为后缀去(随机)获得查找后的值
char *randstring(int slen){ int i,randid; char temp[100]=""; char character_set[52] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N','O', 'P','Q', 'R', 'S', 'T','U', 'V', 'W', 'X','Y', 'Z','a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l','m', 'n', 'o', 'p', 'q', 'r','s', 't', 'u', 'v', 'w', 'x','y','z'}; for(i=1;i<=slen;i++) { randid=rand()%52; sprintf(temp,"%s%c",temp,character_set[randid]); } return(temp);}
如何调用该函数:
lr_save_string(randstring(5),"searching");
//调用randstring函数,生成5位长度的随机字符串
很简单的一个方法,可以联合一个loadrunner的方法来用 生成唯一随机数。
如何想生成一个0到99的随机数,可以使用:
int which; which=rand()%100;
这样which的数字就是一个0到99的随机数了
例如: 联合lr_whoami 或者使用一个web_save_timestamp_param 获得当前的时间戳,这样就可以做出一个唯一的参数值。
尽量不要使用lr自带参数化随机取值,会大幅度降低负载发生器的性能。