zoukankan      html  css  js  c++  java
  • 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需要设置为“可重用操作”。
    ---------------------

  • 相关阅读:
    FIFO深度计算
    php学习笔记--函数
    php学习笔记--类型转换
    php学习笔记--变量与常量
    css之伪对象-webkit-scrollbar
    8大排序算法
    正则表达式
    SDC Tcl package of Timequest
    面试经历之今日头条
    《Linux高性能服务器编程》学习总结(十三)——多进程编程
  • 原文地址:https://www.cnblogs.com/gdg87813/p/10874201.html
Copyright © 2011-2022 走看看