有些人甚至不知道這個參數做什么用的,尤其是Test的output不知道怎么取。
其實它是外部對象傳給它的(這個外部對象可以是Quality Center,也可以是vbs這樣的驅動程序)。
以下給大家講解一個關于QuickTest的Flight的例子。
首先,在QTP里錄制一段腳本,代碼如下:
CODE:
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文件,文件內容如下:
CODE: 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的輸入參數InParam1,然后InParam1傳參數到InAction1去驅動了Action1的測試,然后通過這個Action1得出了OutAction1的值,然后通過OutAction1傳給OutParam1,最后再傳回到vbs文件中。示例用MsgBox來打出重新傳回到vbs文件中的字符串。
文章來源于領測軟件測試網 http://www.kjueaiud.com/