如何理解Return的返回值?
如何理解Return的返回值?选自个人作品《软件性能测试与Loadrunner实战》
问题:
在创建和录制脚本的时候,发现在脚本vuser_init、Action、vuser_end三部分,都会有一条“return 0;”语句,那么我们平时在编写脚本时如何应用return语句,return不同的返回值又有什么含义呢?
问题解答:
Return标识一个过程的结束,在LoadRunner 中用return 不同的返回值根据脚本不同的返回值,表示脚本的成功或者失败。“return + 大于等于零的数字 ;”表示成功,反之,则表示失败。
下面通过一个实例脚本来深入理解一下return语句。
相应脚本代码:
#include "web_api.h"
Action()
{
LPCSTR user1="悟空";
LPCSTR user2="八戒";
if ((user1=="悟空") || (user1=="猴哥"))
{
lr_output_message("悟空和猴哥是同一个人!");
return 0;
}
else
{
lr_output_message("我是八戒不是悟空!");
return -1;
}
lr_output_message("这句话永远不会被执行!");
}
【脚本分析】
该段脚本事先声明了两个字符串变量user1和user2,而后判断user1变量是否为“悟空”或者“猴哥”,如果是则输出“悟空和猴哥是同一个人!”,否则输出“我是八戒不是悟空!”。因为return 语句执行完成以后,后面的语句将不会被执行,所以最后一句话将永远不会被执行,即:“这句话永远不会被执行!”不会被输出。下面我们看一下上面脚本的执行日志结果为
Running Vuser...
Starting iteration 1.
Starting action Action.
Action.c(10): 悟空和猴哥是同一个人!
Ending action Action.
Ending iteration 1.
Ending Vuser...
如果将上面的脚本“if ((user1=="悟空") || (user1=="猴哥"))”变更为“if ((user2=="悟空") || (user2=="猴哥"))”,则脚本的执行日志结果为,通过【View】>【Test Results...】查看结果,因为返回值为-1.
[ 本帖最后由 fish_yy 于 2009-7-22 09:29 编辑 ] :'( 楼主一会哭一会笑,哈哈,有意思,
好帖,顶 帮你顶。 :D 3Q两位! 考下来运行一下试试, 好好学习一下. 顶死你.
求助: 我运行了上面的脚本却有下面的错误提示, 请楼主帮助解释一下.
Action.c (14): illegal character `\0241'Action.c (14): illegal character `\0241'
Action.c (14): illegal character `\0241'
Action.c (14): illegal character `\0241'
Action.c (20): warning: unreachable code
c:\\documents and settings\\\315\365\325\274\264\250\\local settings\\temp\\noname4\\\\combined_noname4.c (4): 4 errors, not writing pre_cci.ci 0是退出这个ACTION进入下一个ACTION,-1就停止运行脚本了 顶一把。 呵呵
回复 8# 的帖子
你的这个问题解决没啊,我的也遇到了,是怎么回事呢? :) :lol :victory: 应该是字符集,建议不要拷贝,或者拷贝后将一些字符,如“重新写,再编译 原帖由 TransferForTest 于 2007-11-3 10:44 发表 http://bbs.51testing.com/images/common/back.gifAction.c (14): illegal character `\0241'
Action.c (14): illegal character `\0241'
Action.c (14): illegal character `\0241'
Action.c (14): illegal character `\0241'
Action.c (20): warning: unreacha ...
字符集问题! 在testresult 里面哪里可以看到返回值啊?
回复 9# 的帖子
如果返回1呢?是什么意思? 原帖由 kkwwpp 于 2009-4-15 10:49 发表 http://bbs.51testing.com/images/common/back.gif如果返回1呢?是什么意思?
成功,帖中有说啊! 怎么我无论怎么修改条件,结果都是前面那后,else后面怎么无法输出?怎么回事 楼上自己分析下逻辑,我自己写的,运行之后成功了,
希望多一些这样的实例来学习脚步的编写
谢谢
页:
[1]
2