51Testing软件测试论坛

标题: test parameter 的使用问题 [打印本页]

作者: skisky    时间: 2006-6-13 13:48
标题: test parameter 的使用问题
一个qtp test可以有很多的action组成,现在Test Settings的Parameters页中设置了一个Input parameter,名为"TCPath",字符型,
如何在某一个action中调用该变量,用Parameter("TCPath")好象不行,应该如何书写语句,谢谢!
作者: xiaonan    时间: 2006-6-13 13:59
在一个action中调用另一个action中的变量时.先在另一个action中设置个output参数,用变量传出来,才能在这个action用input参数把变量传进去.才能用Parameter("TCPath").你的写法并没有什么问题.是你设置的parameter参数不对.到step--action pro...那里去设output参数
作者: skisky    时间: 2006-6-13 14:29
我是想通过外部程序调用该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中调用该输入参数?
作者: xiaonan    时间: 2006-6-13 14:45
RunAction "login", oneIteration,"mercury","mercury"
可以通过类似这样的写法,把参数传到一个action中去,当然要在step--action pro...那里去设input参数 .
作者: skisky    时间: 2006-6-13 15:08
不是很明白,那我应该如何取到Test Settings的Parameters页中设置的Input parameter呢?
RunAction "login", oneIteration,"mercury","mercury"中的"mercury"应该就是输入的参数,但是我都不知道怎么取出Input parameter,怎么送到"login" action中呢? 能不能说具体些,谢谢!
作者: skisky    时间: 2006-6-13 15:14
如果一个test中就只有一个action,这个问题又如何处理呢?
作者: xiaonan    时间: 2006-6-13 15:15
不是在Test Settings的Parameters页中设置的Input parameter,而是在step--action pro...那里去设input参数.名字可以为username,然后就用Parameter("username")这样的方式去取啊
作者: skisky    时间: 2006-6-13 15:33
不在Test Settings的Parameters页中设置Input parameter,语句Set rtParams = pDefColl.GetParameters()会出错的,错误信息如下图:

[ 本帖最后由 skisky 于 2006-6-13 15:36 编辑 ]
作者: xiaonan    时间: 2006-6-13 15:38
哦,不知道你的参数是怎么来的,其实你可以换种思路,先放到Global里去,从那里去取.那不管在哪个action都能访问到
作者: skisky    时间: 2006-6-13 15:59
我知道怎么做了
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 编辑 ]
作者: xiaonan    时间: 2006-6-13 16:02
sdlkfj1,汗颜啊!呵呵!只要等解决就好,其实这个摸搜的过程也蛮享受的.
作者: QA_BAY    时间: 2006-6-14 17:58
当顶层的ACTION知道怎么做了.那你应该可以做到ACTION1传到ACTION2
知识的扩展
作者: loho1968    时间: 2006-6-14 23:53
在Action call Properties中,也有个参数设置页面,这里可以设置action的参数值,对Action的参数可以在这里进行参数化,即可以设置为Datatable的值,也可以使用Test的参数值
作者: harold_zou    时间: 2006-6-15 08:52
学习!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2