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 對應的執行效果:
