在我們錄制腳本過程中,可能會遇到這樣一種情況.用object spy能識別到某個對象,但錄制的時候腳本就是沒生成下來.當然如果你對QTP的原理比較熟悉,可以直接把對象加到對象庫中,再自己手工寫代碼.這當然是個比較好的解決方法.但碰到對QTP不是很熟,對vbscript的語法比較陌生的朋友來說,可能需要花點功夫了.但事實上QTP還提供給我們一個方便操作的工具,叫做步驟生成器.在insert菜單里能夠找到,當然按一下F7能直接調出這個工具.
先來介紹一下這個工具.“步驟生成器”對話框有助于快速輕松地添加一些步驟,這些步驟使用測試對象方法、實用程序對象方法和函數調用,因此用戶無需記住語法或者精通高級 VBscript。既可在關鍵字視圖中,也可在專家視圖中使用步驟生成器。
接下來用一個小例子來說明這個步驟生成器的使用.
比如在QTP自帶的fight程序里,在填好相應信息后,按下insert order會生成一個定單號.那么我們就用步驟生成器生成腳本來取這個order no.首先我們要做的是把這個對象加入到對象庫中去.加入對象的方法,可以打開對象庫來add 填加.也可以在Active screen 里找到這個對象來右擊鼠標,選擇ADD object.如下:
在填出的窗口后,按下ok,然后下一個窗口繼續按add,直到把對象真正加入到對象庫中去.因為這邊有些朋友以為第一次按了ok就已經填進去了,下面就直接close掉了,其實不是這樣子的,這邊是要注意的.對象我們已經準備好后,我們就在合適的地方生成需要的腳本.直接按一下F7.然后打開的了步驟生成器的窗口.如下:
在第一個下拉選項Category我們選擇test object.在第二個下拉選項object里選擇我們要操作的對象,我們這里選擇order no.也可以按旁邊的圖標,會顯示這個腳本中的所有對象讓你選擇.然后在第三個下拉選項operation里選擇我們要做的操作.這里提供了很多的操作.這里只是取值,所以選擇了GetRoProperty.
然后在Arguments里在value里填上我們要取的屬性名.在Return value打上勾,設置返回值取好變量名.再按下ok整句代碼就出來了.
aa = Window("Flight Reservation").WinEdit("Order No:").GetROProperty("text")
到這里整個過程就結束了.大家可以自己試試看.
原文轉自:http://www.anti-gravitydesign.com