记得刚开始碰QTP的时候,知道了action之间的参数传递,也顺便知道了一般action的input、output参数,当时看到全局设置里面还有个parameter的时候就奇怪这个input得让谁给它input来着。现在知道了,这里的input、output可以是QTP与外部对象进行参数的传递,比如QC,或者一些外部的驱动程序。
2.如何设置
Files->Settings,打开test settings,选择Parameters选项卡,这里面便是设置顶级参数用的了
3.如何使用
在QC中设置:
在test lab中打开一个test set,在里面选择一个QTP的test,右击该test,在菜单中选择Test Instance Properties。
先选择左边栏里面的Configuration,然后选择右边的Automated选项卡
这里因为我使用的QC上面没有用到顶级参数的test,所以这个地方显示了test里面没有设置参数,如果是个有参数的test,这里就会有设置参数的界面了。
如果是通过外部程序进行设置的话,Application.Test.ParameterDefinitions.Item(Position),可以返回指定的参数对象。下面是一个vbs脚本打开QTP test 并传入传出顶级参数的例子(In1是顶级的输入参数,Out1是顶级的输出参数)
Dim qtApp ,pDefColl,pDef ,rtParams,rtParam
Set qtApp = CreateObject("QuickTest.Application")
qtApp.Launch
qtApp.Visible = True
qtApp.Open "C:\Test1"
Set pDefColl = qtApp.Test.ParameterDefinitions
cnt = pDefColl.Count
Indx = 1
While Indx <= cnt
Set pDef = pDefColl.Item(Indx)
Indx = Indx + 1
Wend
Set rtParams = pDefColl.GetParameters()
Set rtParam = rtParams.Item("In1")
rtParam.Value = "aaa"
qtApp.Test.Run , True, rtParams
MsgBox rtParams.Item("Out1").Value
这里,这个test里面预先做一些设置,写一些代码,通过参数的传递,让Out1=In1(比如把In1传给action1的输入参数actin,然后action1里面写一句Parameter("actout").Value=Parameter("actin"),然后把action1的输出参数actout传给Out1)。运行这个脚本可以的到一个弹出框显示“aaa”。




评论