51Testing软件测试论坛

标题: 调用action问题 [打印本页]

作者: julialove    时间: 2007-4-19 13:45
标题: 调用action问题
actionA为可重用,actionB要调用actionA.
actionB有一个output参数Bval,
actionA有一个input参数Aval.
B中代码:RunAction actionA[脚本名称], oneIteration,Bval
A中调用:Q1=Parameter("Aval")   

我现在问题是:执行代码时,总是提示:actionA[脚本名称]没找到。
可是我已经insert call to exist action呢,为什么呢?请大家帮忙看一下。
作者: xiaonan    时间: 2007-4-19 14:28
可不可以把相应代码放上来啊
作者: julialove    时间: 2007-4-19 16:08
标题: OK
好的,谢谢版主帮看,我把代码粘上来。
作者: jerryshomaro    时间: 2007-4-19 16:17
output参数Bval应该由actionA返回输出的.
然后在actionB中使用
不知道对否~~??
作者: julialove    时间: 2007-4-19 16:28
我把actionB删除后重新录制,再insert call to exist action,又可以了,不知怎么回事呢。sdlkfj8
作者: jerryshomaro    时间: 2007-4-19 16:31
RunAction actionA[脚本名称], oneIteration,Bval
你的这句话有问题
应该是这样的:
RunAction actionA[脚本名称]  , oneIteration  , 输入给actionA的参数序列 , actionA的返回值
作者: julialove    时间: 2007-4-19 16:32
不过,调用外部action总是执行两次呢,大家看一下这张图。[attach]23348[/attach]
作者: julialove    时间: 2007-4-19 16:41
图中的“入仓单接单[大鹏企业端]”就是重用的actionA,‘入仓单申报’就是调用外部action的actionB.我是在关键词视图中'入仓单申报'action中insert call to exist action的,然后入仓单申报中调用,代码如下:
bilval = DataTable("billId_value_out","入仓管理")
RunAction "入仓单接单 [大鹏企业端]", oneIteration,bilval
并新建 output参数bilval。
“入仓单接单[大鹏企业端]”action中再新建input参数接收。
可是我执行的时候,入仓单接单[大鹏企业端]”action执行两次,第一次是有数据的,第二次就是空的。
从上图中也能看出是执行两次的,是我的增加步骤错误了吗。
作者: julialove    时间: 2007-4-19 16:42
jerryshomaro,你哪样写是对的,不过,我哪样写也没错,是可以得到参数值的,就是每次调用外部可重用的action,总是执行两次。
作者: julialove    时间: 2007-4-19 17:02
在调用外部action的代码里,我加入一行msgbox信息后,如下:
bilval = DataTable("billId_value_out","入仓管理")
RunAction "入仓单接单 [大鹏企业端]", oneIteration,bilval

msgbox "标志"

然后加入断点调试,发现运行情况为:
执行到RunAction "入仓单接单 [大鹏企业端]", oneIteration,bilval,就进入外部action入仓单接单 [大鹏企业端]里运行。
运行完后,执行msgbox信息。
然后又重新进入外部action入仓单接单 [大鹏企业端]里重新运行一次,这次input参数就为空值。
作者: jerryshomaro    时间: 2007-4-19 17:05
你的两个action为并列的.
只不过一个action 里运行另一个并列的action.对不对??
那么, 调用完一个后自然就会跑到下一个action啊
作者: jerryshomaro    时间: 2007-4-19 17:09
不好意思.上面是我理解错了.
作者: jerryshomaro    时间: 2007-4-19 17:23
你的两个动作重复了:
我是在关键词视图中'入仓单申报'action中insert call to exist action的,然后入仓单申报中调用,代码如下:
                                            1-->第一个地方
bilval = DataTable("billId_value_out","入仓管理")
RunAction "入仓单接单 [大鹏企业端]", oneIteration,bilval
2-->第二个地方

不要做 " 1-->" 这个动作
作者: julialove    时间: 2007-4-19 17:25
这是一个脚本中的一个actionB调用另一个脚本的actionA,同时,它们都是主action的子action.
作者: jerryshomaro    时间: 2007-4-19 17:29
只要 RunAction "入仓单接单 [大鹏企业端]", oneIteration,bilval
就行了
不要再insert call to exist action
作者: julialove    时间: 2007-4-19 17:30
jerryshomaro ,可是如果不insert call to exist action,就加不进来外部action呢,
RunAction "入仓单接单 [大鹏企业端]", oneIteration,bilval

就是insert call to exist action后,才会有入仓单接单 [大鹏企业端]",这个action的。
作者: julialove    时间: 2007-4-19 17:32
[attach]23353[/attach]
作者: julialove    时间: 2007-4-19 17:34
jerryshomaro ,你看一下上面的帮助,上面也说了,先 insert call to exist action,再用runaction.是不是我理解错误,不过,我觉着,我就是在这儿insert或调用这些步骤中错误了,不过,不知错在哪儿了。
作者: jerryshomaro    时间: 2007-4-19 17:39
用insert call to exist action
会自动添加一行代码 --> RunAction "入仓单接单 [大鹏企业端]"
也就是说现在你的代码里有两个runaction "入仓单接单 [大鹏企业端]"
一个有参数.一个没参数.
你看看对不??
作者: julialove    时间: 2007-4-20 09:06
我这儿试了一下,insert call to exist action后还是没有出现runaction ’调用action‘,代码,还是出现两个调用action .不知为什么呢,不过,目前处理是,我手动删除了一下,所以程序可以执行下去。
不知大家有没有碰到过,我添加的步骤哪方面有问题吗?
作者: chenliquan    时间: 2011-11-28 10:20
我也遇到了和楼主相似的问题,不知道楼主是否已解决




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2