文章多数来自互联网,若有冒犯的地方,请朋友们说明下,我会及时删除该文章!
QTP关键技术(四) - Test和Top-Level Action间参数传递
上一篇 /
下一篇 2011-06-21 13:03:23
/ 个人分类:21天QTP突破
有些人不知道这个参数做什么用的,尤其是Test的output不知道怎么取。
其实它是外部对象传给它的(这个外部对象可以是Quality Center,也可以是vbs这样的驱动程序)。
以下给大家讲解一个关于QuickTest的Flight的例子。
首先,在QTP里录制一段脚本,代码如下:
SystemUtil.CloseProcessByName "Flight4a.exe"
SystemUtil.Run Environment.Value("ProductDir") & "\samples\flightapp\flight4a.exe"
Dialog("Login").WinEdit("Agent Name:").Set Parameter("InAction1")
Dialog("Login").WinEdit("Password:").SetSecure "46f1f4259cf01348f5a4c630bcee96084f3d1619"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
Parameter("OutAction1") = true
然后在QTP中进行参数设置,
1)设置Action的参数
鼠标选中Keyword View中的Action1,
点右键---Action Property,
在Parameters的Tab标签下,分别加入:
输入参数 InAction1 ,类型String;
输出参数 OutAction1,类型 Boolean。
2)设置Test的参数
在QTP的菜单File--->>Settings的Parameters的Tab标签下,分别加入:
输入参数 InTest1 ,类型String;
输出参数 OutTest1,类型 Boolean。
3)将Test和Action间参数进行关联传递
鼠标还是选中Keyword View中的Action1,点右键,
这次点“Action Call Properties”,
在Parameter Values里进行参数化传递设置,
把InTest1的值传递给InAction1,
把OutAction1的值传递给OutTest1。
以上设置完毕后,点“保存”,保存到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,而且进行了自动
测试,最后还取到了运行成功与否的布尔值。
这就是关于Test、Top-Level Action参数使用的例子,它的参数的整个传递过程是:
外部vbs文件 传参数给QuickTest的Test的输入参数InTest1,然后InTest1传参数到InAction1去驱动了Action1的测试,
然后通过这个Action1得出了OutAction1的值,然后通过OutAction1传给OutTest1,最后再传回到vbs文件中。
示例用MsgBox来打出重新传回到vbs文件中的字符串。
收藏
举报
TAG: