fish_yy 发表于 2007-11-1 22:48:11

如何理解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 编辑 ]

fish_yy 发表于 2007-11-2 12:04:39

:'(

rickyzhu 发表于 2007-11-2 17:42:22

楼主一会哭一会笑,哈哈,有意思,

好帖,顶

大漠飞鹰 发表于 2007-11-3 07:17:15

帮你顶。

fish_yy 发表于 2007-11-3 09:15:13

:D

fish_yy 发表于 2007-11-3 09:15:36

3Q两位!

TransferForTest 发表于 2007-11-3 10:40:04

考下来运行一下试试, 好好学习一下. 顶死你.

TransferForTest 发表于 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

anTidd 发表于 2007-11-3 11:12:43

0是退出这个ACTION进入下一个ACTION,-1就停止运行脚本了

Zee 发表于 2007-11-4 11:59:45

顶一把。

kofee 发表于 2007-11-12 19:16:36

呵呵

qinxiaocang1202 发表于 2008-12-16 10:01:43

回复 8# 的帖子

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

cjg007 发表于 2008-12-16 15:55:43

:) :lol :victory:

durbey_712 发表于 2008-12-17 17:59:49

应该是字符集,建议不要拷贝,或者拷贝后将一些字符,如“重新写,再编译

fish_yy 发表于 2009-4-15 09:52:42

原帖由 TransferForTest 于 2007-11-3 10:44 发表 http://bbs.51testing.com/images/common/back.gif
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 ...

字符集问题!

kkwwpp 发表于 2009-4-15 10:48:38

在testresult 里面哪里可以看到返回值啊?

kkwwpp 发表于 2009-4-15 10:49:16

回复 9# 的帖子

如果返回1呢?是什么意思?

fish_yy 发表于 2009-4-15 11:57:01

原帖由 kkwwpp 于 2009-4-15 10:49 发表 http://bbs.51testing.com/images/common/back.gif
如果返回1呢?是什么意思?

成功,帖中有说啊!

lambkin 发表于 2009-5-27 16:45:21

怎么我无论怎么修改条件,结果都是前面那后,else后面怎么无法输出?怎么回事

yzylion 发表于 2009-5-27 18:03:22

楼上自己分析下逻辑,我自己写的,运行之后成功了,
希望多一些这样的实例来学习脚步的编写
谢谢
页: [1] 2
查看完整版本: 如何理解Return的返回值?