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

点击打开链接

脚本的朋友们都会碰到多个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需要设置为“可重用操作”。

时间: 2024-12-20 15:52:04

QTP多个Action之间传递参数的方法详解的相关文章

Linux线程体传递参数的方法详解

传递参数的两种方法 线程函数只有一个参数的情况:直接定义一个变量通过应用传给线程函数. 例子 #include #include using namespace std; pthread_t thread; void * fn(void *arg) { int i = *(int *)arg; cout<<"i = "<<i<<endl; return ((void *)0); } int main() { int err1; int i=10; e

前端在html页面之间传递参数的方法

项目中经常会出现的一种情况,有一个列表,譬如是案例列表,点击列表中的某一项,跳转至详情页面.详情是根据所点击的某条记录生成的,因为案例和具体的详情页面,都是用户后期自行添加的,我们开始编写时,不可能穷尽.因此跳转页面时,我们需要传递一个参数过去,这样我们才能通过这个参数进行数据请求,然后根据后台返回的数据来生成页面.因此,通过a标签跳转的方式,肯定是行不通的. 我们经常写form表单,提交时,可以传递参数,如果使用表单,并将其隐藏起来,应该可以达到效果. 除此以外,window.location

JSP页面之间传递参数的方法有哪些?

解答: 1)request 2)session 3)application 4)提交表单 5)超链接 原文地址:https://www.cnblogs.com/borter/p/9548097.html

linux 下rpm命令参数使用方法详解

RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:在Fedora .Redhat.Mandriva.SuSE.YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用: 一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系:也就是安装一个rpm包需要的so动态链接库(也称为共享库)的环境.其实就和人的生存环境一样

JS多个函数之间传递参数问题

JS多个函数之间传递参数的一个重要思想是在页面定义一个隐藏域,当第一个函数请求到数据时候修改隐藏域的值,第二个函数用jQuery的选择器选择页面中隐藏域的值. 比如: 页面中定义一个隐藏的页号. <!-- 隐藏查询条件的页号 --> <input type="hidden" name="currentPage" id="currentPage"> 第一个ajax函数获取页面中的页号: function queryNum(c

页面与页面之间传递参数

方式一: <jsp:useBean id="userForm" class="com.wgh.UserForm" scope="page"/>在这个类里面set get<jsp:setProperty name="userForm" property="*"/> 输入框<input name="pwd" type="password" i

html 页面之间传递参数----js

html 页面之间传递参数----js aa.html======== <html> <head> </head> <body> <script> function submit() { var input1 = document.getElementById("inputid"); window.open("C:/Users/lenovo/Desktop/test/bb.html?inputStr=" +

Fragment之间传递参数

传递参数的方法 //要跳转到的Fragment MapF f=new MapF(); //传递的参数 Bundle args = new Bundle(); args.putString("position","1"); f.setArguments(args); //跳转 getFragmentManager().beginTransaction().replace(R.id.car_main_fragment, f).commit(); 得到参数 getArgu

实现html与html 页面之间传递参数以及接收参数

html与html 页面之间传递参数以及接收参数 要实现html与html页面之间进行参数传递,只需要在html页面中添加如下js代码即可 <script type="text/javascript"> <!--获取页面之间的传递的参数--> function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)