51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 10865|回复: 37
打印 上一主题 下一主题

[原创] 如何理解Return的返回值?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-11-1 22:48:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何理解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 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-11-2 12:04:39 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-11-2 17:42:22 | 只看该作者
楼主一会哭一会笑,哈哈,有意思,

好帖,顶
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-11-3 07:17:15 | 只看该作者
帮你顶。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-11-3 09:15:13 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-11-3 09:15:36 | 只看该作者
3Q两位!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-11-3 10:40:04 | 只看该作者
考下来运行一下试试, 好好学习一下. 顶死你.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-11-3 10:44:06 | 只看该作者

求助: 我运行了上面的脚本却有下面的错误提示, 请楼主帮助解释一下.

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
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-11-3 11:12:43 | 只看该作者
0是退出这个ACTION进入下一个ACTION,-1就停止运行脚本了
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-11-4 11:59:45 | 只看该作者
顶一把。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-11-12 19:16:36 | 只看该作者
呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2008-12-16 10:01:43 | 只看该作者

回复 8# 的帖子

你的这个问题解决没啊,我的也遇到了,是怎么回事呢?
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-12-16 15:55:43 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2008-12-17 17:59:49 | 只看该作者
应该是字符集,建议不要拷贝,或者拷贝后将一些字符,如“重新写,再编译
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2009-4-15 09:52:42 | 只看该作者
原帖由 TransferForTest 于 2007-11-3 10:44 发表
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: unreacha ...


字符集问题!
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2009-4-15 10:48:38 | 只看该作者
在test  result 里面哪里可以看到返回值啊?
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2009-4-15 10:49:16 | 只看该作者

回复 9# 的帖子

如果返回1呢?是什么意思?
回复 支持 反对

使用道具 举报

该用户从未签到

18#
 楼主| 发表于 2009-4-15 11:57:01 | 只看该作者
原帖由 kkwwpp 于 2009-4-15 10:49 发表
如果返回1呢?是什么意思?


成功,帖中有说啊!
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2009-5-27 16:45:21 | 只看该作者
怎么我无论怎么修改条件,结果都是前面那后,else后面怎么无法输出?怎么回事
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2009-5-27 18:03:22 | 只看该作者
楼上自己分析下逻辑,我自己写的,运行之后成功了,
希望多一些这样的实例来学习脚步的编写
谢谢
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-19 02:24 , Processed in 0.082764 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表