码迷,mamicode.com
首页 > 其他好文 > 详细

QTP多个Action之间传递参数的方法详解

时间:2015-04-26 19:49:31      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

 点击打开链接

脚本的朋友们都会碰到多个Action之间传递参数的问题,想当年我也是研究了好久才成功的,网上虽然有很多文章都在讲这个问题,但是大多都是雷同的抄来抄去不能解决实际问题,也有可能是我太笨了吧。下面我们来详细讲一下QTP多个Action之间传递参数的方法。

一、假设Action1调用Action2并且Action1传递参数给Action2

1、Action1的代码及设置

‘定义两个变量
Dim strMessA:strMessA = "我是"
Dim strMessB:strMessB = "一个传递的参数"

‘调用Action2,并传参
RunAction "Action2", oneIteration, strMessA, strMessB

在资源管理中的Action1上点右键-操作属性-参数选项卡,设置输出参数。

技术分享

技术分享

2、Action2中的代码及设置

Dim strMessA:strMessA = ""
Dim strMessB:strMessB = ""
Dim strMess:strMess = ""

‘接参
strMessA = parameter("strMessA")
strMessB = parameter("strMessB")

strMess = strMessA&strMessB

msgbox(strMess)

同样设置参数选项卡,这里设置的是 输入参数。

技术分享

3、运行Action1的结果:

技术分享

参数传递成功。strMessA和strMessB是两个传递的变量,在Action1里设置输出参数,在Action2里设置输入参数,并且在Action2里用strMessA = parameter("strMessA")中的parameter方法接参数。

二、假设Action1调用Action2并且Action2传递参数给Action1,也就是说Action1接收Action2返回的参数

1、Action1的代码及设置

‘定义三个变量
Dim strMessA:strMessA = "我是"
Dim strMessB:strMessB = "一个传递的参数"
Dim strMessC:strMessC = ""

strMessC = parameter("strMessC")

‘调用Action2,并传参
RunAction "Action2", oneIteration, strMessA, strMessB, strMessC

msgbox(strMessC)

技术分享

返回的strMessC变成了Action1的输入参数。

2、Action2的代码及设置

Dim strMessA:strMessA = ""
Dim strMessB:strMessB = ""
Dim strMessC:strMessC = "我是一个返回的参数"
Dim strMess:strMess = ""

‘接参
strMessA = parameter("strMessA")
strMessB = parameter("strMessB")

‘给主调用Action1返回参数
parameter("strMessC") = strMessC

strMess = strMessA&strMessB

msgbox(strMess)

技术分享

3、运行Action1的结果

技术分享

成功返回了strMessC的变量。

注意:

1、RunAction "Action2", oneIteration, strMessA, strMessB, strMessC,RunAction是调用并运行另外一个Action的意思,strMessA和B是输出的参数,strMessC是返回的参数,都写在一起,返回的参数放在最后,这个过程貌似比较奇怪,呵呵。oneIteration是运行一次的意思。如下图:

技术分享

2、这里演示的两个Action是在同一个Test里面,不同Test里的Action也可以按如上方法调用,是一样的,被调用的Action需要设置为“可重用操作”。

QTP多个Action之间传递参数的方法详解

标签:

原文地址:http://blog.csdn.net/libin_1/article/details/45290657

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!