51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2759|回复: 9
打印 上一主题 下一主题

[求助] 在Action间传递参数的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-4-28 14:49:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
录制了一个脚本,有2个Action,是嵌套的,Action2在Action1里面,

通过ActionProperties设置了参数的传递过程,也设置了Action call properties,

Action1传递到Action2
Action2再把结果传递到Action1

在Action1里面 我用Enviroment来获得Action2返回的值
用 msgbox Environment.value("变量名")来显示这个值

可是运行后msgbox没有显示变量名

请教各位,是什么原因导致这样的?

[ 本帖最后由 cswalkman 于 2009-4-28 15:05 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-4-28 15:03:15 | 只看该作者

回复 1# 的帖子

是不是在获取之前先执行一下 call  Action2然后再获取阿
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-4-28 15:13:06 | 只看该作者
有一点补充,还想不明白的一点是,Action2中input是从Action1的input获得输入,但是Action2的的output是从什么地方获得值?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-4-28 15:17:59 | 只看该作者

回复 3# 的帖子

Action2的的output不是在Action2处理完要传出来的值吗?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-4-28 15:47:54 | 只看该作者
有点绕,先顶下。。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-4-28 16:39:47 | 只看该作者
LZ是如何使用Environment来获取Output值的?应该是LZ对于Action Output使用的理解上有偏差
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-4-28 16:57:53 | 只看该作者
Action之间的调用可以参考函数的调用来理解,举个简单的例子来说明下吧:
有两个Action,Action1与Action2是父子关系,Action2中有两个输入参数inA1,inA2和一个输出参数outA

Action1中的代码如下:
RunAction "Action2", oneIteration, 1, 2, result
msgbox result

Action2中的代码如下:
If Parameter("inA1") = Parameter("inA2") Then
        Parameter("outA") = Parameter("inA1") & "等于" & Parameter("inA2")
Else
        Parameter("outA") = Parameter("inA1") & "不等于" & Parameter("inA2")       
End If

运行下脚本即可
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2009-4-29 09:18:41 | 只看该作者
原帖由 hsjzfling 于 2009-4-28 16:39 发表
LZ是如何使用Environment来获取Output值的?应该是LZ对于Action Output使用的理解上有偏差


我所做的,理解的是这样的:
因为是嵌套Action,Action1包含Action2,参数的流程大概是这样的
Action1中datatable→inAction1→inAction2→outAction2→outAction2→Environment

Action2中用output checkpoint()

Action1中用msgbox Environment.value()

为什么msgbox显示是空白呢?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-4-29 15:13:39 | 只看该作者
原帖由 cswalkman 于 2009-4-29 09:18 发表


我所做的,理解的是这样的:
因为是嵌套Action,Action1包含Action2,参数的流程大概是这样的
Action1中datatable→inAction1→inAction2→outAction2→outAction2→Environment

Action2中用output checkpo ...


1. 你是如何使用Action的Output Parameter的,这个是关键之一
2. 你在Action2中是如何使用Output CheckPoint的?这事关键之二。如果是输出到你的Environment中,那这就跟Action Parameter没关系了,因为Environment的作用域是整个Test,在Action1中可以直接使用该Environment。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2009-4-30 14:32:31 | 只看该作者
谢谢你的帮组,看了你的回复后,我把Action2的output checkpoint输出到一个Variable中实现了参数的传递
也让我明白了environment的作用域
      谢谢!!


发现自己写错了一个东东 呵呵  不好意思啊

Action1中datatable→inAction1→inAction2→outAction2→outActio1→Environment

红色的地方被我写成outActio2了

[ 本帖最后由 cswalkman 于 2009-4-30 14:35 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 21:30 , Processed in 0.084950 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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