lr_paramarr_random()函数的作用为:从一个参数数组中随机抽取一个值并以字符串形式返回。其使用方式及返回方式如下:
char * lr_paramarr_random( const char *
paramArrayName);
该函数在某些测试场景下或许比较有用,如随机选择页面中一个下拉框中的值。
本次测试的WEB页面源码如下:
1 <html>
2 <head>
3 </head>
4 <body>
5 <select id="mySelect">
6 <option>bag</option>
7 <option>book</option>
8 <option>apple</option>
9 </select>
10
11 </body>
12 </html>
将该WEB页丢到Apache进行发布。
对应的LoadRunner脚本代码如下:
1 Action()
2 {
3 char *str;
4 web_reg_save_param(
5 "Names",
6 "LB=<option>",
7 "RB=</option>\r\n",
8 "Ord=all",
9
10 LAST);
11
12 web_url("Test.html",
13 "URL=http://127.0.0.1:8080/Test.html",
14 "Resource=0",
15 "RecContentType=text/html",
16 "Referer=",
17 "Snapshot=t1.inf",
18 "Mode=HTML",
19 LAST);
20
21 str = lr_paramarr_random("Names");
22 // lr_save_string(lr_paramarr_random("Names"),"name"); 通过 lr_save_string()函数,将该随机返回的参数保存到参数 ‘name‘ 中
23 lr_message("the name is Error : %s",str);
24 // lr_message("the name is : %s",lr_eval_string("{name}"));
25 //打印出该 ‘name‘ 参数的值
26 return 0;
27 }
脚本运行的日志如下:
1 Starting action Action.
2 Action.c(4): Registering web_reg_save_param was successful [MsgId: MMSG-26390]
3 Action.c(12): Notify: Saving Parameter "Names_1 = bag".
4 Action.c(12): Notify: Saving Parameter "Names_2 = book".
5 Action.c(12): Notify: Saving Parameter "Names_3 = apple".
6 Action.c(12): Notify: Saving Parameter "Names_count = 3".
7 Action.c(12): web_url("Test.html") was successful, 232 body bytes, 308 header bytes [MsgId: MMSG-26386]
8 Action.c(22): Notify: Parameter Substitution: parameter "Names_count" = "3"
9 Action.c(22): Notify: Parameter Substitution: parameter "Names_2" = "book"
10 Action.c(22): Notify: Saving Parameter "name = book".
11 Action.c(24): Notify: Parameter Substitution: parameter "name" = "book"
12 the name is : book
13 Ending action Action.
脚本解释:
1、运行完web_url()函数后,web_reg_save_param()函数把三个参数的值保存在了 ‘Names’ 参数数组中。
2、lr_paramarr_random()函数从 Names 参数数组中,随机抽取一个值并以字符串的形式返回(本次返回的值是 ‘book‘ )
3、打印输出该值
LoadRunner函数示例:lr_paramarr_random()
时间: 2024-10-02 06:41:43