51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 8564|回复: 17
打印 上一主题 下一主题

[原创] 如何在QTP的多个Action中传递参数(参数为对象、数组)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-5-5 16:50:23 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
先后尝试了多种方法,通过DataTable的globalsheet无法实现,通过环境变量也无法实现,通过input parameter和output parameter也不能实现。希望高手指点一下。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

18#
发表于 2014-2-17 17:58:14 | 只看该作者
5、9楼正解。
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2012-8-22 09:54:34 | 只看该作者
学习下
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2012-8-22 09:46:46 | 只看该作者
非常好的方法 谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2012-2-27 14:38:45 | 只看该作者
就记得很久以前回答过类似的问题,没想到就是当初那帖子……
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2012-2-27 14:04:05 | 只看该作者
受教,解决问题鸟!!
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2010-6-24 13:38:33 | 只看该作者
学习了~
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-6-24 09:22:40 | 只看该作者
挺好的帖子. 学习了. 顶给需要的人看
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-6-18 09:52:44 | 只看该作者
调用带有参数的操作

        如果所调用的操作已定义了输入和/或输出参数,您还可以提供输入参数的值以及输出参数的存储位置,作为 RunAction 语句的参数。输入参数列在输出参数之前。

        对于输入参数,可以指定一个固定值,也可以指定另一个已定义的参数(数据表参数、环境参数或调用操作的操作输入参数)的名称,输入参数将采用该已定义参数的值。

        对于输出参数,可以指定一个用于存储值的变量,或者是一个已定义参数(数据表参数、环境参数或调用操作的操作输出参数)的名称。

        带有参数的操作调用使用以下语法:

        RunAction ActionName,IterationQuantity,Parameters

        例如,假设从 Action1 调用 Action2,并且 Action2 有一个已定义的输入参数和一个已定义的输出参数。

        RunAction "Action2", oneIteration, "MyValue", MyVariable

        为输入参数提供 MyValue 的字符串值,并将输出参数生成的值存储在名为 MyVariable 的变量中。

        RunAction "Action2", oneIteration, Parameter(ìAxn1_In), DataTable("Column1_out", dtLocalSheet)

        使用为 Action1 的 Axn1_In 输入操作参数定义的值作为该输入参数的值,并将输出参数生成的值存储在 Action1 的数据表工作表中名为 Column1_out 的一列中。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2014-10-15 22:18
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
    发表于 2009-6-17 17:25:04 | 只看该作者
    学东西到手。。。哈
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2009-6-9 09:38:14 | 只看该作者
    原帖由 tongdan617 于 2009-5-7 15:36 发表
    楼上的能不能说的明白一点?
    我目前这样实现
    在Action1中Set records= CreateObject("ADODB.Recordset")
                          Environment.Value("yy") = records
    在Action2中Set records= CreateObject("ADOD ...

    楼主请注意 并不是说通过环境变量不能在多个Action中传递 而是楼主的用法错误
    records是一个对象 通过Environment.Value("yy") = records赋值是不正确的 左边是变量 右边是对象 这样赋值是不正确的
    楼主可以尝试以下用法
    在Action1中Set records= CreateObject("ADODB.Recordset")
                          Set Environment.Value("yy") = records
    在Action2中Set records= CreateObject("ADODB.Recordset")
                          Set records = Environment.Value("yy")
                          countnumber = records.RecordCount
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2009-5-8 12:11:05 | 只看该作者
    已经按照提供的方法解决问题,谢谢大家~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2009-5-8 09:49:48 | 只看该作者
    恩,又学了一招
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2009-5-8 09:18:19 | 只看该作者
    QTP本身的输入输出参数并不支持对象和数据,要进行这样的传递,一定要在vbs中定义全局变量
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2009-5-7 18:44:58 | 只看该作者
    已经说的很明白了。。。
    举个例子吧:
    1. 在Action1中写上
    Set oWSH = CreateObject("Wscript.Shell")

    2. 在Action2中写上
    Set a = oWSH
    a.PopUp  "Do you feel alright?", 3, "Answer This Question:", 4 + 32

    3. 新建个vbs文件,写上
    Dim oWSH
    保存后将该文件加到File->Settings->Resources 中

    4. Run

    BTW,全局变量统一定义和管理,是测试框架中不可或缺的一部分
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2009-5-7 15:36:24 | 只看该作者
    楼上的能不能说的明白一点?
    我目前这样实现
    在Action1中Set records= CreateObject("ADODB.Recordset")
                          Environment.Value("yy") = records
    在Action2中Set records= CreateObject("ADODB.Recordset")
                          records = Environment.Value("yy")
                          countnumber = records.RecordCount  ---这个语句运行的时候提示错误,对象不支持该方法
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2009-5-5 19:32:43 | 只看该作者
    在vbs文件中定义变量,加到Resources中。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2009-5-5 17:27:43 | 只看该作者
    经常用到的好像都是传递单个数据,对象、数组好像很难实现。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-19 17:45 , Processed in 0.085297 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表