marysnow 发表于 2008-9-5 02:21:16

QTP8.2中action参数传递问题

被测软件:QTP82自带的例子中的windows版本的Flight
问题描述:
在main_action中调用了4个action(分别是登录,新建订单,打开订单,关闭订单)


想实现的功能:是将:action_new order中的order no的值 传到 action_open order中.
自己的做法就是:
1)在action属性里建立一个输出参数为:out_order
2)在建立一个标准输出值,将orderno结果传给一个参数为out_order。


3)在action_open order中建立一个输入参数为:in_order
4)在action_open_order中点击“右键——action call property”,在弹出的对话框中点击“parameter values”选项卡,在该选项卡中定义参数变量,界面如图:

在弹出的“values Configration Option”对话框中,少一项选项。

请教:该如何实现从action1将参数传入到action中呢?

(从本论坛中看到的是QTP9。2版本中有一项叫test Parameter,可以解决此问题)

ellven 发表于 2008-9-5 11:32:28

我看得有点晕,把这个问题简单理解为怎么在两个平级action之间传递参数。
实现步骤如下:
1. 在Action页面,添加 RunAction "Action1 new order", oneIteration, output          ' 此output就是你要从new order里面传出来的参数
2. 进入 new order, 在动作属性-参数里设置一个输出参数output
3. 在new order里面, 添加 parameter("output")=“你要传的值”

#解释一下,这样在第三步里面设置的值就被成功的导出到主action了,接着需要把这个值传给open order

4. 在Action页面,添加 RunAction "Action1 open order", oneIteration, output
5. 进入 open order, 在动作属性-参数里设置一个输入参数output
6. 在代码里使用 parameter("output") 即为参数值了

happychap 发表于 2008-9-5 11:33:16

8.2的不清楚,反正9.5版本的很好解决,就是新建一个变量,把它做为Action调用时的参数即可(放在最后面)。

marysnow 发表于 2008-9-5 14:29:13

ellven:

脚本执行到:
Parameter("output")=Window("Flight Reservation").WinEdit("Order No:").GetROProperty ("text")

就不往下执行了.这是怎么回事.:)

daren_liu 发表于 2008-9-5 14:52:41

学习了

ellven 发表于 2008-9-5 15:41:17

原帖由 marysnow 于 2008-9-5 14:29 发表 http://bbs.51testing.com/images/common/back.gif
ellven:

脚本执行到:
Parameter("output")=Window("Flight Reservation").WinEdit("Order No:").GetROProperty ("text")

就不往下执行了.这是怎么回事.:)

具体点?哪一个parameter("output"),输出还是输入的?
错误信息是什么?

marysnow 发表于 2008-9-5 16:03:09

我在调试时,加入了msgbox,值可以取出来 ,然后执行到set方法则值写不进去,后来我重新执行一下option选项中的restore layout,则再run脚本,调试一看,值进来了.

这两天挺郁闷的,用8.2总是有问题,以前的脚本好好的,现在拿出来一执行就有问题了.

问题已经解决,按照elven提供的方法即可.

谢谢elven的热心解答!:handshake

[ 本帖最后由 marysnow 于 2008-9-5 16:04 编辑 ]

ellven 发表于 2008-9-5 16:05:46

不客气,共同提高:loveliness:
页: [1]
查看完整版本: QTP8.2中action参数传递问题