在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;
}
时间: 2024-10-14 09:41:25

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

java 实现往oracle存储过程中传递array数组类型的参数

注:本文来源于 <  java 实现往oracle存储过程中传递array数组类型的参数  > 最近项目中遇到通过往存储过程传递数组参数的问题, 浪费了N多个小时,终于有点头绪. 具体的代码就不写上了,因为项目中存储过程的调用方法全部是封装好的(好像现在都这样,都姓3层,嘿嘿) 原理: 1.一维数组 A.单纯的一维数组的话,直接建立一个table类型就可以 1 TYPE TYPE_VARCHAR AS TABLE OF VARCHAR2(200); 2.多维数组 A.多维数组就要稍加修改了,如

如何在JSTL中获取数组或者list对象的索引值(index)

<c:forEach items="${productList}" var="products" varStatus="status"> 产品序号:${status.count} 产品名称:${products.name} </c:forEach> 上面代码中的varStatus是关键,${status.count}即是我们要的数组的索引值. 如何在JSTL中获取数组或者list对象的索引值(index)

nginx-lua取后端redis key为数组时的随机取值.

#按毫秒级取值math.randomseed(tostring(os.time()):reverse():sub(1, 7))假设取服务器ip值为两个,13,24action2={13,24}如果数组元素数大于1if (#action2) > 1 then将服务器ip重新赋值为action2的多个元素值中的一个.action2=action2[math.random(#action2)]打印重新赋值后的aciton2(服务器ip)print (action2)end后续可以自己控制action2

ACCESS常用数字类型的说明和取值范围

下面是ACCESS常用数字类型的说明和取值范围列表明供参考 数字类型                 范围 Byte(字节)            介于 0 到 255 之间的整型数. Integer(整型)          介于 –32,768 到 32,767 的短整型数. Long(长整型)         介于 –2,147,483,648 到 2,147,483,647 的长整型数. Currency(货币)      介于-922,337,203,685,477.5808 到 92

数组 :定义一个有20个元素的数组,每一个元素的取值范围是[30 ,70],求他们的和

   //定义一个有20个元素的数组,每一个元素的取值范围是[30 ,70],求他们的和     int a[20] = {0};     int sum = 0;     for (int i = 0; i < 20; i++) {         a[i] = arc4random()%(70 - 30 + 1) + 30;         printf("%d ",a[i]);         sum += a[i];     }       printf("\n

【转】oracle 中随机取数据的方法

oracle 中随机取数据的方法: 1.快速随机取数据(推荐使用): select * from MEMBER sample(1) where rownum <= 10 2.随机取数据,较慢 select * from (  select * from MEMBER order by dbms_random.value) where rownum<=10 ========原文======== 最近在做系统时用到了随机抽取记录的问题: 上网上查找了很多相关资料,发现了不同的方法及其差异.都是基于

loadrunner中定义数组

loadrunner 中数组的定义 loadrunner 中数组的定义: lr_save_string("www.google.com","website_1"); lr_save_string("www.baidu.com","website_2"); lr_save_string("www.163.com","website_3"); lr_save_string("www

&quot;命名空间&quot;system.web&quot;中不存在类型或命名空间名称security&quot;错误解决方法

using System; using System.Collections.Generic; using System.Text; using System.Web; namespace 求md5 { class Program { static void Main(string[] args) { string str = GetMd5("xuwei"); Console.WriteLine(str); } public static string GetMd5(string st

Loadrunner 关于参数赋值取值的操作

1.参数的赋值和取值 lr_save_string("hello world","param"); lr_eval_string("{param}"); 2.变量到参数 int x; char *y; y="hello"; x=10; lr_save_int(x,"param"); lr_save_string(y,"param1"); lr_eval_string("{par