实验环境:LR11:
代码:
vuser_init
vuser_init()
{
lr_output_message(">>>>>>>>>> init");
//exit(-1);
//return -1;
return 0;
}
Action1
Action1()
{
lr_output_message(">>>>>>>>>>> 1");
//exit(-1);
//exit(-2);
//exit(0);
//exit(1);
//return -1;
//return 0;
//return 1;
lr_output_message(">>>>>>>>>>> 2");
return 0;
}
Action2
Action2()
{
lr_output_message(">>>>>>>>>>> 3");
return 0;
}
vuser_end
{
lr_output_message(">>>>>>>>>>> end");
return 0;
}
直接运行,结果如下
Starting action vuser_init.
Web Turbo Replay of LoadRunner 11.0.0 for Windows 7; build 8859 (Aug 18 2010 20:14:31) [MsgId: MMSG-27143]
Run Mode: HTML [MsgId: MMSG-26000]
vuser_init.c(3): >>>>>>>>>> init
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Starting action Action1.
Action1.c(3): >>>>>>>>>>> 1
Action1.c(11): >>>>>>>>>>> 2
Ending action Action1.
Starting action Action2.
Action2.c(3): >>>>>>>>>>> 3
Ending action Action2.
Ending iteration 1.
Starting iteration 2.
Starting action Action1.
Action1.c(3): >>>>>>>>>>> 1
Action1.c(11): >>>>>>>>>>> 2
Ending action Action1.
Starting action Action2.
Action2.c(3): >>>>>>>>>>> 3
Ending action Action2.
Ending iteration 2.
Ending Vuser...
Starting action vuser_end.
vuser_end.c(3): >>>>>>>>>>> end
Ending action vuser_end.
Vuser Terminated.
一、当在Action1中加上
exit(-1)
,后直接终止迭代停止程序运行,后续代码均不执行
Action1()
{
lr_output_message(">>>>>>>>>>> 1");//执行 >>>>>>>>>>> 1
exit(-1); // 程序直接终止,跳出所有迭代和`Action`
lr_output_message(">>>>>>>>>>> 2");//不执行
return 0;
}
Virtual User Script started at : 2018-10-29 11:50:26
Starting action vuser_init.
Web Turbo Replay of LoadRunner 11.0.0 for Windows 7; build 8859 (Aug 18 2010 20:14:31) [MsgId: MMSG-27143]
Run Mode: HTML [MsgId: MMSG-26000]
vuser_init.c(3): >>>>>>>>>> init
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Starting action Action1.
Action1.c(3): >>>>>>>>>>> 1
注:
exit(0)/exit(-2)/exit(2)/exit(1)
也是一样的
二、当在Action1中加上
return -1
时,程序执行到此处,跳出所有Action和迭代,但会执行vuser_end
。
Action1()
{
lr_output_message(">>>>>>>>>>> 1");//执行 >>>>>>>>>>> 1
return -1;; // 程序跳出所有迭代和`Action`,但会执行 vuser_end
lr_output_message(">>>>>>>>>>> 2");//不执行
return 0;
}
Virtual User Script started at : 2018-10-29 12:53:49
Starting action vuser_init.
Web Turbo Replay of LoadRunner 11.0.0 for Windows 7; build 8859 (Aug 18 2010 20:14:31) [MsgId: MMSG-27143]
Run Mode: HTML [MsgId: MMSG-26000]
vuser_init.c(3): >>>>>>>>>> init
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Starting action Action1.
Action1.c(3): >>>>>>>>>>> 1
Ending Vuser...
Starting action vuser_end.
vuser_end.c(3): >>>>>>>>>>> end
Ending action vuser_end.
Vuser Terminated.
三、当在Action1中加上
return 0
时,程序执行到此处,仅跳出当前Action,当前Action中后续代码不执行。
Action1()
{
lr_output_message(">>>>>>>>>>> 1");//执行 >>>>>>>>>>> 1
return 0;; // 程序仅跳出当前`Action`,后续代码不执行,其他Action和迭代正常执行
lr_output_message(">>>>>>>>>>> 2");//不执行
return 0;
}
Virtual User Script started at : 2018-10-29 13:00:46
Starting action vuser_init.
Web Turbo Replay of LoadRunner 11.0.0 for Windows 7; build 8859 (Aug 18 2010 20:14:31) [MsgId: MMSG-27143]
Run Mode: HTML [MsgId: MMSG-26000]
vuser_init.c(3): >>>>>>>>>> init
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Starting action Action1.
Action1.c(3): >>>>>>>>>>> 1
Ending action Action1.
Starting action Action2.
Action2.c(3): >>>>>>>>>>> 3
Ending action Action2.
Ending iteration 1.
Starting iteration 2.
Starting action Action1.
Action1.c(3): >>>>>>>>>>> 1
Ending action Action1.
Starting action Action2.
Action2.c(3): >>>>>>>>>>> 3
Ending action Action2.
Ending iteration 2.
Ending Vuser...
Starting action vuser_end.
vuser_end.c(3): >>>>>>>>>>> end
Ending action vuser_end.
Vuser Terminated.
注:
return 1/return 2/return n...
也是一样的