Loadrunner随机生成15位数字串
PS:本人在51testing和sina blog上的文章全部为原创,转载请注明出处!!
今天看到一个网友的问题,是想生成一个15位的数字串来进行参数化输入,要求如下:
1、前4位均是0436
2、其余的是11位的随机数
原帖地址:http://bbs.51testing.com/viewthread.php?tid=89018&page=1&extra=page%3D1
拿到问题,我思考了一下,前4位使用固定值很好办,唯一的问题就是生成随机数了;
生成随机数而且用lr实现,目前我知道2种方法:
1、使用c语言的rand()函数
2、使用lr的参数类型中的random number来生成
因为要生成固定的位数,所以我决定使用lr的random number方法;另外也是我想到rand()函数实现起来非常麻烦,~解决问题为主。
我的回复如下:
##############
1、在参数表(Parameter List)中新建一个参数(Parameter),命名为"num"
2、选择参数类型(Parameter type)为随机数(Random Number),
3、选择参数范围(Parameter range)为最小为1,最大为99999999
4、在随机数格式(Number format)里选择“%08lu”
然后引用类似为:
web_sumbit_data(
……
……
"card_id=0436000{num}";
LAST);
说明:随机数按照位数在c语言里不好实现,所以我选择了lr的参数化来生成。但是lr的参数化里最多只能生成8位数字(这个我还不知道能不能改),所以你要求有11位数字的时候,我就把你要求的固定的"0436"变成了"0436000",这样参数化以后就可以生成类似"043600012345678"的15位数字了。
##############
回复完毕,又仔细想想发现自己很傻,既然lr支持字符串和参数在一起被引用,那么为什么只用一个参数才解决呢?而且解决的也不彻底,还有3位数是固定值。。发现自己还真的很笨~~~~
更好的实现方法是创建2个或者多个随机数类型的参数(Random Number Parameter),这样,就能把随机数的参数化位数增加到11位甚至更多;~想参数多少位就多少位,嘿嘿
还是以15位的这个问题来说吧:
如图再增加一个随机数.
然后引用方法类似:
web_sumbit_data(
……
……
"card_id=0436{num1}{num}";
LAST);
搞定!!
相关阅读:
- LoadRunenr Interview Questions with answers. (davidwang_2004, 2007-8-24)
- 转贴:LR录制方式的区别(URL和HTML) (葫葫, 2007-8-24)
- 通过LoadRunner监控Linux的资源状况 (51testing, 2007-8-27)
- LR中脚本的调试(这是我在51testing发表过的主题) (ssy2010, 2007-8-27)
- loadrunner中参数化的问题 (lxlmj, 2007-8-28)
- 关于lr中exit(-1)和return 0的区别 (by1945, 2007-8-29)
- lr习题+答案-Exercise 3.2 (by1945, 2007-8-29)
- LoadRunner-一种特殊的录制脚本方法介绍 (51testing, 2007-8-31)
oadrunner 生成随机数的函数
使用C代码生成随机英文+数字
int itera_num,rand_num,i;
char StrTable[]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
char i_name[24]="";
char i_data[50]="";
char i_data2[24]="";
itera_num=rand()%24;
for (i=0;i<=itera_num;i++){
rand_num=rand()%62;
strncat(i_name,StrTable+rand_num,1);}
itera_num=rand()%50;
for(i=0;i<=itera_num;i++){
rand_num=rand()%62;
strncat(i_data,StrTable+rand_num,1);}
i=rand()%strlen(i_data)+1;
strncat(i_data2,i_data,i);
lr_save_string(i_name,"i_name_value");
lr_save_string(i_data,"i_data_value");
lr_save_string(i_data2,"i_data2_value");
参看:http://boyqqq.spaces.live.com/blog/cns!D6AA33352019FC3E!149.entry?wa=wsignin1.0&sa=314044507
使用loadrunner自带的函数random number生成随机数字
1、在参数表(Parameter List)中新建一个参数(Parameter),命名为"num"
2、选择参数类型(Parameter type)为随机数(Random Number),
3、选择参数范围(Parameter range)为最小为1,最大为99999999
4、在随机数格式(Number format)里选择“%08lu”
然后引用类似为:
web_sumbit_data(
……
……
"card_id=0436000{num}";
LAST);
当然也可以多个随机参数一并合成一个
这时候使用就变成了
web_sumbit_data(
……
……
"card_id=0436{num1}{num}";
LAST);
更详细的可以参看:
http://www.51testing.com/?uid-6343-action-viewspace-itemid-19789
选择不同的 Update value on 对应的执行效果: