关闭

QTP关键技术(四) - Test和Top-Level Action间参数传递

标签: actionparametersdialogloginpropertiesstring
1154人阅读 评论(0) 收藏 举报
分类:

摘自:51Testing,作者songfun,http://bbs.51testing.com/viewthread.php?tid=76226  

 
以下讲述一个关于QTP的Test参数和Top-Level Action参数的使用例子,
有些人不知道这个参数做什么用的,尤其是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
   此文为Hollyzhao于2007年09月在 http://blog.csdn.net/softesting 发布,夜深了,有点累~
 
然后在QTP中进行参数设置,
1)设置Action的参数
鼠标选中Keyword View中的Action1,
点右键---Action Property,
在Parameters的Tab标签下,分别加入:
输入参数 InAction1 ,类型String;
输出参数 OutAction1,类型 Boolean。 此文为Hollyzhao于2007年09月在 http://blog.csdn.net/softesting 发布,夜深了,有点累~
 
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好了。 此文为Hollyzhao于2007年09月在 http://blog.csdn.net/softesting 发布,夜深了,有点累~
 
最后,在你的硬盘上新建一个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文件中的字符串。
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:87853次
    • 积分:1415
    • 等级:
    • 排名:千里之外
    • 原创:48篇
    • 转载:29篇
    • 译文:0篇
    • 评论:37条