51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5081|回复: 18
打印 上一主题 下一主题

[原创] 我也讲讲Action里面的Parameter吧

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-27 11:31:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Action Parameter

Input value & Out value


树形结构:
Action 1
         Action 2
                  Action 3
                  Action 4

A2可以使用A1的input参数作为默认的输入参数,使用中,实际替代了原有的A2input
当在A1中添加代码调用Action2的时候(这时候把Action2看成一个函数),

Parameter(“A1in”)就成为了函数Action2的输入参数
Parameter(“A1out”)就成为了函数Action2的输出参数

RunAction "Action2", oneIteration, Parameter("A1in"), Parameter("A1out")

而默认情况下,
RunAction "Action2", oneIteration
输入输出参数分别是 A2in A2out



值得传递规律:

每一级都可以给他的下级(被调用者)传递输入参数,并接收下级的输出变量parameter(“A2out”)到本级的输出变量parameter(“A1out”)

包括Test也都是一样的。QC调用Test, Test调用Action, Action调用Action…

最后,关于Action3和Action4

Action4可以使用Action3的输出参数作为自己的输入参数。反之不行,Action3必须要出现在Action4之前,并且处于同级才有这个特性。


相关使用:
Action->Right Click->Action Properties
Action->Right Click->Action Call Properties
打开的窗口就是你需要进行操作的地方,再不会偶也没办法了,文字交流仅限于此。

Jackymail
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2007-9-27 12:02:06 | 只看该作者
    这些都是Action 里的parameter
    QTP 还有Test 级别的 parameter,不过只有最外层的Action才能调用

    另外,action级的参数传递一般只支持 直接的父子Action关系,
    即 如lz例子中
    Action1和Action4 之间是不能传递的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2007-9-27 12:08:23 | 只看该作者
    谢谢你的回复,我刚才仔细看了一下,你说的问题我都有提到,而且关于父子和sibling的问题我也谈到了。

    原帖由 rivermen 于 2007-9-27 12:02 发表
    这些都是Action 里的parameter
    QTP 还有Test 级别的 parameter,不过只有最外层的Action才能调用

    另外,action级的参数传递一般只支持 直接的父子Action关系,
    即 如lz例子中
    Action1和Action4 之间是不能传递 ...
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-9-27 13:40:25 | 只看该作者
    貌似楼主所表述的只是Action传递参数的一种情况,即:将Action1的输入输出参数都传递给其子Action2这种情况,其表述逻辑关系应该是:
    If 调用子Action的语句是 RunAction "Action2", oneIteration, Parameter("A1in"), Parameter("A1out")    Then
       A2可以使用A1的input参数作为默认的输入参数,使用中,实际替代了原有的A2input
       当在A1中添加代码调用Action2的时候(这时候把Action2看成一个函数),

      Parameter(“A1in”)就成为了函数Action2的输入参数
      Parameter(“A1out”)就成为了函数Action2的输出参数
    End If

    而不是说在任何情况下,A2都可以使用A1的input参数作为默认的输入参数。
    偶看看开头怎么看怎么不对劲。。。直到看到RunAction...那句才明白楼主为什么会得出"使用中,实际替代了原有的A2input"这个结论~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-9-27 13:44:40 | 只看该作者
    或许是偶误解了楼主的意思,也许楼主的本意就是只是想描述"A2可以使用A1的input参数作为默认的输入参数",而不是要较全面的给新手们讲讲Action中的Parameter吧~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2007-9-27 14:04:45 | 只看该作者
    是不是我讲的太乱阿?你们2位都是51testing就业学员,应该基础不错啊,怎么好象看不懂我说的呢?一位把我的话重复了一下说我没有说到某某。另外一位说我介绍的是Action2到Action1云云。。

    我介绍的是层次的参数使用阿,Test-Action-Sub Action我都提到了阿?还有同级sibling的情况也说清楚了阿。

    还有所谓基础的话题,如果说再基础还需要怎样基础呢?就说在Action里面定义的parameter可以在所在的action中使用?

    还有就是关于"默认"这个词。不能乱用。

    [ 本帖最后由 jackymail 于 2010-4-27 15:26 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-9-27 15:00:11 | 只看该作者
    原帖由 jackymail 于 2007-9-27 14:04 发表
    是不是我讲的太乱阿?你们2位都是51testing就业学员,应该基础不错啊,怎么好象看不懂我说的呢?一位把我的话重复了一下说我没有说到某某。另外一位说我介绍的是Action2到Action1云云。。

    我介绍的是层次的参数使 ...


    如果大多数人看完你的描述后都能恍然大悟(悟对了才算),而只有个别人提出疑惑,那么自然就不是你没描述清楚;反之如果没人觉得听懂了,而只有人发表疑问,那么楼主就该斟酌下自己的逻辑以及组织的语言咯~
    理解你的意思是一回事,但认可你的描述却是另一回事~

    "还有就是关于'默认'这个词。不能乱用。" 澄清一下,貌似"默认"两个字是楼主自己在顶楼用出来的,偶只是复制了下你的话而已,不好意思忘了加引号了~

    还有,楼主提到"Action4可以使用Action3的输出参数作为自己的输入参数。反之不行,Action3必须要出现在Action4之前,并且处于同级才有这个特性。"
    貌似只有父子关系的Action间才能通过Parameter传递参数,还请楼主解惑,将具体的传递过程描述一下~
    根据楼主给的限制条件,偶推测,楼主或许是通过Action2的参数间接达到Action3与Action4之间传递参数的目的吧~

    当然,这些小问题并不能掩盖楼主无私的分享自己心得的奉献精神~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
    发表于 2007-9-27 15:32:47 | 只看该作者
    你说的我看得懂,因为我有这方面的知识,即便你表达的不够完善,我也能用自己的知识去套

    可你说的会给不太明白这方面知识的带来误解,你以为自己说清楚了,其实给别人造成歧义了

    每一级都可以给他的下级(被调用者)传递输入参数,并接收下级的输出变量parameter(“A2out”)到本级的输出变量parameter(“A1out”)


    什么叫下级?Action4 是不是Action1的下级,他们之间能直接调用吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2007-9-27 15:34:54 | 只看该作者
    A2可以使用A1的input参数作为默认的输入参数
    恩,我这句话说得有问题,不应该说默认,你给重复了2次,所以我看了比较明显了。以为你说的。默认是指不指明输入输出参数的情况下runaction,指明参数的情况下不叫默认!

    还有就是关于你说的父子关系才能传递参数。你和rivermen都是一样的意思,我这次看明白了,我不知道这是不是你们上课的时候别人教的。但是我想澄清一下,你们都理解错了。不知有父子关系,同级参数可以按照文中我所述说的方法传递。
    你查看帮助action parameter 这两个关键字就能找到,文中开始的地方就提到了。

    尽信他人不如不要学,当然你也不必相信我,实际动手操作才算真实结果。

    无论如何,parameter在我看来是非常鸡肋的一个功能。讨论到此作罢,十分感谢楼上各位交流。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2007-9-27 15:37:55 | 只看该作者
    原帖由 rivermen 于 2007-9-27 15:32 发表
    你说的我看得懂,因为我有这方面的知识,即便你表达的不够完善,我也能用自己的知识去套

    可你说的会给不太明白这方面知识的带来误解,你以为自己说清楚了,其实给别人造成歧义了



    什么叫下级?Action4 是不 ...

    Action4不是Action1的下级,我说的下级是指被调用者,我已经加注了括号。阅读文章一定要仔细。

    我只是想听听大家的意见,方便我给别人做培训,看来我写的文档还真不行啊。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    11#
    发表于 2007-9-27 16:00:51 | 只看该作者
    自己动手是王道,别人说的只能参考。
    用自己的实践来验证或者推翻
    与诸君共勉
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2007-9-27 16:03:37 | 只看该作者
    原帖由 rivermen 于 2007-9-27 16:00 发表
    自己动手是王道,别人说的只能参考。
    用自己的实践来验证或者推翻
    与诸君共勉

    呵呵,有不同意见还可以提出来,直接在msn上跟我说也行。发现问题才能进步啊。

    发现你们楼上两位文采都不错。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-9-27 16:25:13 | 只看该作者
    我尝试用参数的作用域来解释一下,不正确的地方请指正。
    Action1的输入参数在Action1的作用域中和普通变量的使用是一样的,只是需要写成Parameter("x")的形式,
    Action1中的参数不会直接在其调用的Action2中生效,必须以输入参数的形式传入Action2,相当于以实参赋值给形参,而在Action2中除对全局参数可见,是不能够直接使用Action1中定义参数的。
    而Action2的输出参数需要再给另外一个变量赋值,这时的作用域是Action1,那么只要Action1可见的变量都可使用。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2007-9-27 16:38:39 | 只看该作者
    貌似楼主眼中只能看到"质疑"而看不到"请求"。。。。。。
        刚尝试了下,帮助文档中描述的"You pass the value from a previous action to the sibling action in which you want to use it. For example:
    (Action2) Step 1 -> Action2 -> Action3 -> (Action3) Step 1"
    方法确实是可行的。以前也就只尝试过父子关系通过Action Parameter传递参数,但实际应用中从来不会去用这东西(DataTable,Environment都要比它好用的多)~

        楼主的观点还是没错的,偶收回对"Action4可以使用Action3的输出参数作为自己的输入参数。反之不行,Action3必须要出现在Action4之前,并且处于同级才有这个特性。"的质疑~不过楼主能描述清楚些就更好了,不然新手看了肯定会被误导的~

    这里再给楼主点小建议:要开班授课写文档,那就得从读者的角度出发考虑问题,讲述一个问题就得全面考虑。就算不能讲全,至少也得把一个问题讲清楚。自己懂是一回事,要能让看的人也很容易懂那就是另外一回事了~(比如yabest的帖子,就能让人很容易弄懂那不算粗浅的问题~)

    还是感谢楼主的,纠正了偶持续两个月的一个错误认识~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    15#
    发表于 2007-9-28 00:51:27 | 只看该作者
    理解了问题是一种能力,能把自己掌握的知识讲出来,也是一种能力。呵呵!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2007-10-17 12:46:28 | 只看该作者

    dddd

    dddddddddddddddddddddd
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2007-10-17 15:21:41 | 只看该作者
    怎么好象争论的很激烈,小菜鸟不能明辨是非了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2007-10-17 16:49:55 | 只看该作者
    温故,知新
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2007-10-19 10:54:05 | 只看该作者
    学习
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-15 13:41 , Processed in 0.088093 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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