测试交流天地

QTP的Test参数以及顶级Action参数的使用

上一篇 / 下一篇  2011-07-24 09:51:06 / 个人分类:QTP

网上有些关于如何使用Action参数文章,不过关于QTPTest参数和Top-Level Action参数的使用例子几乎没有。
有些人甚至不知道这个参数做什么用的,尤其是Test的output不知道怎么取。
其实它是外部对象传给它的(这个外部对象可以是Quality Center,也可以是vbs这样的驱动程序)。
以下给大家讲解一个关于QuickTest的Flight的例子。
首先,在QTP里录制一段脚本代码如下:
  1. SystemUtil.Run "C:\Program Files\Mercury\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\Mercury\QuickTest Professional\samples\flight\app\","open"
  2. Dialog("Login").WinEdit("Agent Name:").Set Parameter("InAction1")
  3. wait 5
  4. Dialog("Login").WinEdit("Agent Name:").Type  micTab
  5. Dialog("Login").WinEdit("Password:").SetSecure "4649c633ffc8803c10097292953c6334fde3e923"
  6. Dialog("Login").WinEdit("Password:").Type  micReturn
  7. Window("Flight Reservation").Close
  8. 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文件,文件内容如下:
  1. Dim qtApp ,pDefColl,pDef ,rtParams,rtParam
  2. Set qtApp = CreateObject("QuickTest.Application")
  3. qtApp.Launch
  4. qtApp.Visible = True
  5. qtApp.Open "C:\Test1"
  6. Set pDefColl = qtApp.Test.ParameterDefinitions
  7. cnt = pDefColl.Count
  8. Indx = 1
  9. While Indx <= cnt
  10.     Set pDef = pDefColl.Item(Indx)
  11.     Indx = Indx + 1
  12. Wend
  13. Set rtParams = pDefColl.GetParameters()
  14. Set rtParam = rtParams.Item("InParam1")
  15. rtParam.Value = "songfun"
  16. qtApp.Test.Run , True, rtParams
  17. MsgBox rtParams.Item("OutParam1").Value  
复制代码


做完这步之后,保存这个vbs文件,双击执行这个vbs文件,你会发现它自动启动了QTP,而且进行了自动测试,最后还取到了运行成功与否的布尔值。
这就是关于Test、Top-Level Action参数使用的例子,它的参数的整个传递过程是:
外部vbs文件 传参数给QuickTest的Test的输入参数InParam1,然后InParam1传参数到InAction1去驱动了Action1的测试,然后通过这个Action1得出了OutAction1的值,然后通过OutAction1传给OutParam1,最后再传回到vbs文件中。示例用MsgBox来打出重新传回到vbs文件中的字符串。

[本帖最后由 songfun 于 2007-5-17 09:33 编辑]

quicktestparam.bmp(1.83 MB)

quicktestparam.bmp


TAG:

 

评分:0

我来说两句

Open Toolbar