在LoadRunner中从数组类型的参数随机取值的方法

在LoadRunner中从数组类型的参数随机取值的方法

使用web_reg_save_param做关联后,有时候会有多个匹配值。

为了模仿用户行为随机取一个值为后续transcation所用,可以使用lr_paramarr_random函数。

例如:

web_reg_save_param("EntryID",

"LB=_41"><nobr>",

"RB=<",

"Ord=All",

"NOTFOUND=WARNING",

LAST);

...

lr_save_string(lr_paramarr_random("EntryID"), "EntryID_Preview");

上例中EntryID有多个值,以array存在。而EntryID_Preview便从中随机地取一个值。

lr_paramarr_random实例(关联参数随机取值) 
关联参数取值时,若太多值,需要处理一下,介绍一个函数可直接随即取一个值,方便易理解,这是拿电脑报价做的一个简单的例子。

Action()
{

int count;
char * Value;
char str[10];

lr_think_time(1);

web_reg_save_param("sid",
"LB=<a href="?sId=",
"RB=&aId=100">",
"Ord=All",
"NotFound=ERROR",
LAST);

   
web_url("192.168.74.4:8081", 
"URL=http://192.168.74.4:8081/", 
"Resource=0", 
"RecContentType=text/html", 
"Referer=", 
"Snapshot=t1.inf", 
"Mode=HTTP", 
LAST);

//统计参数个数
count = atoi(lr_eval_string("sid_count"));

//加判断,如果没有取到参数,就返回,或给一个固定值
if(count = 0){

return;
}

//在所有的参数中随即取一个值,赋给一个变量,注意这里的Value只是变量,而不是LR所认可的参数值
 Value = lr_paramarr_random("sid"); 

 lr_output_message("Value=%s",Value);

         lr_save_string(Value,"str");//保存一个非空的值到一个参数里

  lr_think_time(1);

web_url("蓝牙耳机", 
"URL=http://192.168.74.4:8081/?sId={str}&aId=100", 
"Resource=0", 
"RecContentType=text/html", 
"Referer=http://192.168.74.4:8081/", 
"Snapshot=t2.inf", 
"Mode=HTTP", 
LAST);
 
return 0;
} 
原文地址:https://www.cnblogs.com/qmfsun/p/4550962.html