Loadrunner随机生成15位数字串

Loadrunner随机生成15位数字串

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);

搞定!!


Loadrunner随机生成15位数字串_第1张图片

再增加随机数

全部脚印不留脚印留下脚印:
  • Loadrunner随机生成15位数字串_第2张图片

    535199

  • Loadrunner随机生成15位数字串_第3张图片

    98764

  • Loadrunner随机生成15位数字串_第4张图片

    gdavid

  • lxlmj曾经在2012-7-20访问过该主题

    lxlmj

  • Loadrunner随机生成15位数字串_第5张图片

    282525

  • 387223曾经在2012-7-05访问过该主题

    387223

相关阅读:
  • 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);

    Loadrunner随机生成15位数字串_第6张图片

    更详细的可以参看:

    http://www.51testing.com/?uid-6343-action-viewspace-itemid-19789

    选择不同的 Update value on 对应的执行效果:

    Loadrunner随机生成15位数字串_第7张图片

你可能感兴趣的:(Loadrunner随机生成15位数字串)