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

简介:

 点击打开链接

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

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

1、Action1的代码及设置

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

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

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

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

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

2、Action2中的代码及设置

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

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

strMess = strMessA&strMessB

msgbox(strMess)

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

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

3、运行Action1的结果:

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

参数传递成功。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)

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

返回的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)

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

3、运行Action1的结果

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

成功返回了strMessC的变量。

注意:

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

QTP调用并运行另一个Action

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

目录
相关文章
|
6月前
|
JavaScript 前端开发
js开发:请解释什么是事件委托(event delegation),并给出一个示例。
事件委托是JavaScript中优化事件处理的技术,通过绑定事件处理器到共享的父元素,利用事件冒泡机制来处理子元素的事件。这种方法能提升性能、简化代码并降低内存消耗。示例展示了如何在父元素上监听`click`事件,然后通过`event.target`识别触发事件的具体子元素(如`<li>`),实现对动态生成列表项的点击事件处理。
50 1
|
6月前
|
JavaScript 前端开发
js函数:函数是JS的基本组成单元,用于封装代码块以实现特定功能。理解函数的定义、调用和参数传递方式非常重要。具体案例详解
js函数:函数是JS的基本组成单元,用于封装代码块以实现特定功能。理解函数的定义、调用和参数传递方式非常重要。具体案例详解
61 1
|
JavaScript
element-ui中下拉command传递多参数事件封装
element-ui中下拉command传递多参数事件封装
543 0
element-ui中下拉command传递多参数事件封装
|
小程序
【小程序】跳转时传递多个参数
【小程序】跳转时传递多个参数
115 0
【小程序】跳转时传递多个参数
|
前端开发 JavaScript
一个简单的例子让你轻松地明白JavaScript中apply、call、bind三者的用法及区别
这篇文章也算是讲解了前端面试 常考的知识点 ,即关于JavaScript中apply、call、bind三者的用法及区别。 如果有些小伙伴已经对该知识有一定的了解了,可以直接跳到最后看 总结
129 0