(转)QTP关键技术—Test和Top-Level Action间参数传递
上一篇 /
下一篇 2009-03-20 14:20:15
/ 个人分类:QTP
以下讲述一个关于QTP的Test参数和Top-Level Action参数的使用例子,
有些人不知道这个参数做什么用的,尤其是Test的output不知道怎么取。
其实它是外部对象传给它的(这个外部对象可以是Quality Center,也可以是vbs这样的驱动程序)。
以下给大家讲解一个关于QuickTest的Flight的例子。
首先,在QTP里录制一段脚本,代码如下:
SystemUtil.CloseProcessByName "Flight4a.exe" SystemUtil.Run Environment.Value("ProductDir") & "\samples\flight\app\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: