51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3283|回复: 13
打印 上一主题 下一主题

[原创] test parameter 的使用问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-6-13 13:48:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个qtp test可以有很多的action组成,现在Test Settings的Parameters页中设置了一个Input parameter,名为"TCPath",字符型,
如何在某一个action中调用该变量,用Parameter("TCPath")好象不行,应该如何书写语句,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-6-13 13:59:57 | 只看该作者
在一个action中调用另一个action中的变量时.先在另一个action中设置个output参数,用变量传出来,才能在这个action用input参数把变量传进去.才能用Parameter("TCPath").你的写法并没有什么问题.是你设置的parameter参数不对.到step--action pro...那里去设output参数
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-6-13 14:29:49 | 只看该作者
我是想通过外部程序调用该test的,在调用的的过程中送入一个参数,所以在Test Settings的Parameters页中设置了一个Input parameter,名为"TCPath",调用程序如下:
    Set qtApp1 = CreateObject("QuickTest.Application")

    Set qtResultsOpt = CreateObject("QuickTest.RunResultsOptions")
    qtResultsOpt.ResultsLocation = targetQTPscriptPath & "\Res1"

    Set pDefColl = qtApp1.Test.ParameterDefinitions

    'Retrieve the Parameters collection defined for the test.
    Set rtParams = pDefColl.GetParameters()
   
    'Retrieve a specific parameter.
    Set rtParam = rtParams.Item("TCPath")
    strTCPath="c:\qtp\test1.xls"
    rtParam.Value = strTCPath

    Set qtTest = qtApp1.Test
    qtTest.Run qtResultsOpt, True, rtParams

如何在action中调用该输入参数?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-6-13 14:45:06 | 只看该作者
RunAction "login", oneIteration,"mercury","mercury"
可以通过类似这样的写法,把参数传到一个action中去,当然要在step--action pro...那里去设input参数 .
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2006-6-13 15:08:51 | 只看该作者
不是很明白,那我应该如何取到Test Settings的Parameters页中设置的Input parameter呢?
RunAction "login", oneIteration,"mercury","mercury"中的"mercury"应该就是输入的参数,但是我都不知道怎么取出Input parameter,怎么送到"login" action中呢? 能不能说具体些,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2006-6-13 15:14:28 | 只看该作者
如果一个test中就只有一个action,这个问题又如何处理呢?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-6-13 15:15:16 | 只看该作者
不是在Test Settings的Parameters页中设置的Input parameter,而是在step--action pro...那里去设input参数.名字可以为username,然后就用Parameter("username")这样的方式去取啊
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2006-6-13 15:33:11 | 只看该作者
不在Test Settings的Parameters页中设置Input parameter,语句Set rtParams = pDefColl.GetParameters()会出错的,错误信息如下图:

[ 本帖最后由 skisky 于 2006-6-13 15:36 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-6-13 15:38:21 | 只看该作者
哦,不知道你的参数是怎么来的,其实你可以换种思路,先放到Global里去,从那里去取.那不管在哪个action都能访问到
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2006-6-13 15:59:35 | 只看该作者
我知道怎么做了
1.现在Test Settings的Parameters页中设置了一个Input parameter,名为"TCPath",字符型
2.在要调用的action的step--action pro...中设置一个相同的值类型的Input parameter,可同名
3.使用以上指定的输入测试参数值参数化输入操作参数值(“步骤”>“操作调用属性”>“参数值”选项卡)
4.在该action的step中用Parameter("TCPath")调用即可
注:该action必须为顶层action

还是非常感谢xiaonan的帮助.

[ 本帖最后由 skisky 于 2006-6-13 16:01 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2006-6-13 16:02:42 | 只看该作者
sdlkfj1,汗颜啊!呵呵!只要等解决就好,其实这个摸搜的过程也蛮享受的.
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2006-6-14 17:58:31 | 只看该作者
当顶层的ACTION知道怎么做了.那你应该可以做到ACTION1传到ACTION2
知识的扩展
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2006-6-14 23:53:25 | 只看该作者
在Action call Properties中,也有个参数设置页面,这里可以设置action的参数值,对Action的参数可以在这里进行参数化,即可以设置为Datatable的值,也可以使用Test的参数值
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2006-6-15 08:52:21 | 只看该作者
学习!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-23 06:32 , Processed in 0.091552 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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