首先介紹一下AutoIt :
AutoIt v3 是用以編寫并生成具有 BASIC 語言風格的腳本程序的免費軟件,它被設計用來在Windows GUI(用戶界面)中進行自動操作。通過它可以組合使用模擬鍵擊、鼠標移動和窗口/控件操作等來實現自動化任務,而這是其它語言所無法做到或尚無可靠方法實現的(比如VBScript和SendKeys)。
首先要使用AUTOIT肯定需要先安裝它,安裝文件網上很多,這里我就不提供下載地址了~
大家可以自己百度去搜一下,安裝完之后,AUTOIT會自動注冊一個AUTOITX的DLL COM組件~
接下來就可以在QTP里編寫腳本了,如果是10.0的話可以直接在QTP里編寫,如果不是就先在VBSEDIT里編寫(原因:有代碼提示)
1.在QTP腳本視圖里輸入 Set oAutoIt = CreateObject("AutoItX3.Control")
2.由于在我們安裝AUTOIT過程中已經自動注冊過了COM,所以通過oAutoIt這個對象可以點出很多方法和屬性。
知道了怎么調用之后我們就可以通過一個最簡單的實例來了解下AUTOIT究竟是一個怎么樣的東西,它能夠做些什么
================實例=================
就以飛機訂票登陸為例
在QTP腳本視圖中輸入
'創建對象 Set oAutoIt = CreateObject("AutoItX3.Control") '啟動飛機訂票 注意路徑每個人的路徑可能不一樣 oAutoIt.Run "D:\\Program Files\\HP\\QuickTest Professional\\samples\\flight\\app\\flight4a.exe" '等待登陸窗口彈出 oAutoIt.WinWaitActive "Login" '給用戶名控件發送消息:zzxxbb112 oAutoIt.ControlSend "Login","","Edit1","zzxxbb112" '給密碼控件發送消息:mercury oAutoIt.ControlSend "Login","","Edit2","mercury" '點擊LOGIN按鈕 oAutoIt.ControlClick "Login","","Button1" set oAutoIt=nothing
簡單的介紹一下每一步的意思
1.創建COM對象
Set oAutoIt = CreateObject("AutoItX3.Control")
2.RUN方法 ---- 啟動對應路徑的應用程序,這里因為是QTP10.0的因此路徑是在HP下的。10.0一下是在MERCURY下的這個可以直接查找下目標就可以了。
oAutoIt.Run "D:\\Program Files\\HP\\QuickTest Professional\\samples\\flight\\app\\flight4a.exe"
amp;nbsp;
3.這一步是等待LOGIN窗口彈出變為當前激活窗口后,再執行后續的腳本,不然可能出現錯誤
oAutoIt.WinWaitActive "Login"
4.用戶名文本框輸入Edit1,至于為什么是Edit1可以使用AutoIt v3 window info 查看,這個東西其實就相當于QTP的SPY
oAutoIt.ControlSend "Login","","Edit1","zzxxbb112"
5.這一步就是輸入密碼框和前面用戶名大同小異
oAutoIt.ControlSend "Login","","Edit2","mercury"
6.也是可以通過INFO來查控件屬性
oAutoIt.ControlClick "Login","","Button1"
7.最后釋放對象
set oAutoIt=nothing
這樣一個簡單登錄就完成了,我們運行一下看看,是不是自動化了。
總結:
由于AUTOIT對于對象識別都比較底層,特別是對CS識別還是不錯的,因此有些時候可以用于彌補QTP對象不能識別時的不足,比如在BS項目中可能會碰到密碼控件不能識別或者一些控件不能成功識別的,可以考慮使用AUTOIT的消息發送發放試試。在AUTOIT中還有很多實用的方法,大家可以自己去看一下,總之AUTOIT絕對是一款非常有用的自動化測試輔助工具。
原文轉自:http://www.uml.org.cn/Test/201012173.asp