QTP Action 参数传递

以QTP的Flight为例子讲下Top Level的Action参数传递。

SystemUtil.Run "C:\Program Files\Mercury\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\Mercury\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").WinEdit("Agent Name:").Set Parameter("InAction1")
wait 5
Dialog("Login").WinEdit("Agent Name:").Type  micTab
Dialog("Login").WinEdit("Password:").SetSecure "4649c633ffc8803c10097292953c6334fde3e923"
Dialog("Login").WinEdit("Password:").Type  micReturn
Window("Flight Reservation").Close
Parameter("OutAction1") = True

然后,鼠标选中Keyword View中的Action1,点右键—Action Property,在Parameters的Tab标签下,分别加入:输入参数 InAction1 ,类型String;输出参数 OutAction1,类型 Boolean。

再然后,在QTP的菜单File—>>Settings的Parameters的Tab标签下,分别加入:输入参数 InParam1 ,类型String;输出参数 OutParam1,类型 Boolean。

接着,鼠标还是选中Keyword View中的Action1,点右键,这次点“Action Call Properties”,在Parameter Values里进行参数化传递设置,把InParam1的值传递给InAction1,把OutAction1的值传递给OutParam1。

以上设置完毕后,点“保存”,保存到C:\下,存为Test1好了。

最后,在你的硬盘上新建一个vbs文件,文件内容如下:

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("InParam1") 
rtParam.Value = "songfun" 
qtApp.Test.Run , True, rtParams
MsgBox rtParams.Item("OutParam1").Value

做完这步之后,保存这个vbs文件,双击执行这个vbs文件,你会发现它自动启动了QTP,而且进行了自动测试,最后还取到了运行成功与否的布尔值。

它的参数的整个传递过程是:

外部vbs文件 传参数给QuickTest的Test的输入参数InParam1,然后InParam1传参数到InAction1去驱动了Action1的测试,然后通过这个Action1得出了OutAction1的值,然后通过OutAction1传给OutParam1,最后再传回到vbs文件中。示例用MsgBox来打出重新传回到vbs文件中的字符串。

1 week ago, this page was being read.

,

Subscribe to Comments