LR中exit(-1)、return -1/return 0等的区别

实验环境: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... 也是一样的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值