今天要学习的2个lr 函数 分别是:
1. lr_abort( )
函数原型:void lr_abort ()
参数:无
返回值:无
作用:终止脚本的运行
2. lr_advance_param
函数原型:int lr_advance_param(const char * param)
参数:char * param 参数名称
返回值:0 (成功) -1 (失败)
作用:进展到下一个可用的参数值
以上2个函数的例子代码如下:
lr_abort:
1 Action() 2 { 3 int status; 4 status = web_url ("abort", 5 "URL=http://localhost/test.html", 6 "RecContentType=text/html", 7 LAST); 8 if(status == LR_PASS) 9 { 10 lr_abort(); 11 lr_output_message("the funtion is abort"); 12 } 13 14 lr_output_message("the funtion is abort1"); 15 16 return 0; 17 }
执行结果如下:
Starting action Action.
Action.c(4): web_url("abort") was successful, 126 body bytes, 223 header bytes [MsgId: MMSG-26386]
Abort was called from an action.
Ending Vuser...
lr_abort 函数终止了脚本的运行,所以后边的2个lr_output_menssage 的方法没有得到执行。。。
lr_advance_param
代码如下:
想了半天,也没想到好的例子,先借用帮助里的吧
1 lr_output_message("Iteration %s, Param1 %s, Param2 %s", 2 3 lr_eval_string("{NewParam}"), 4 5 lr_eval_string("{Param1}"), 6 7 lr_eval_string("{Param2}")); 8 9 lr_advance_param("Param1"); 10 11 lr_output_message("Iteration %s, Param1 %s, Param2 %s", 12 13 lr_eval_string("{NewParam}"), 14 15 lr_eval_string("{Param1}"), 16 17 lr_eval_string("{Param2}"));
循环2次后的结果是:
Action.c(14): the funtion is abort1
Action.c(17): Iteration 1, Param1 P1_a, Param2 P2_a
Action.c(27): Iteration 1, Param1 P1_b, Param2 P2_b
Ending action Action.
Ending iteration 1.
Starting iteration 2.
Starting action Action.
Action.c(4): web_url("abort") was successful, 126 body bytes, 223 header bytes [MsgId: MMSG-26386]
Action.c(14): the funtion is abort1
Action.c(17): Iteration 2, Param1 P1_c, Param2 P2_c
Action.c(27): Iteration 2, Param1 P1_d, Param2 P2_d