autoit是一款非常強大的免費功能自動化測試工具,使用它可以輕鬆實現web和winform的自動化測試。其指令碼語言au3語法類似於vb語言和vbs指令碼語言,對於經常使用qtp的童鞋來說,非常容易上手。以下是乙個使用autoit測試web登入的乙個例項。
首先先介紹一下待測**。待測**是乙個彩鈴製作**,使用者可通過首頁進行登入,點選首頁登入鏈結之後頁面會彈出登入框。使用者輸入登入資訊並點選登入按鈕之後,登入框消失,**首頁右上角顯示使用者已登入。
下面貼出指令碼:
#include
#include
#include
global $hbmp
global $test
global $result
global $isobj=false
global $timer=1
global $oie = _iecreate("",0,1,1,0)
global $tester="13200000001"
global $testerpwd="123456"
_ieloadwait($oie)
sleep(2000)
local $login=_ielinkclickbytext($oie,"登入")
_ieloadwait($oie)
while not $isobj
if $timer>=3 then
seterror("2")
exitloop
endif
$timer+=1
local $inputname = _iegetobjbyname($oie,"txtphonenum")
local $inputpassword = _iegetobjbyname($oie,"txtpassword")
if not isobj($inputname)or not isobj($inputpassword) then
sleep(2000)
else
$isobj=true
$inputname.value=$tester
$inputpassword.value=$testerpwd
endif
wend
local $inputcheck= _iegetobjbyname($oie,"txtradompiccode")
if not isobj($inputcheck) then
$test= capturescreen("c:\documents and settings\aslandhu\桌面\autoit3","checkcodeerror")
$spans=_ietagnamegetcollection($oie,"span")
if $spans(0).innertext==("使用者"&$tester) then ;務必要注意這裡span屬性innertext的訪問方式
seterror("5")
else
seterror("4")
endif
else
$checkcode=inputbox("提示","請輸入驗證碼:")
$inputcheck.value=$checkcode
local $btn= _iegetobjbyname($oie,"btnsubmitlogin")
_ieaction($btn,"click")
_ieloadwait($oie)
local $loginwrap = _iegetobjbyid($oie,"loginwrap")
_ieloadwait($oie)
if not isobj($loginwrap) then
seterror("3")
else
seterror("1")
endif
endif
switch @error
case 1
$result="成功"
case 2
$result="登入框上的按鈕不見啦"
case 3
$result="抱歉,登入失敗"
case 4
$result="登入時,驗證碼輸入框不存在"
case 5
$result="使用者已經登入了"
case else
$result="未定義的錯誤"
endswitch
msgbox(1,"測試結果",$result)
現在對指令碼中幾個關鍵的地方做一些解釋。
(1)在自動化測試中,因為某些原因,一些控制項不能馬上展現,所以在測試指令碼中我們往往會加入一些等待功能,確保這些控制項可以被操作,不會出現物件不存在至錯的情況。這段指令碼中在識別登入框中使用者賬號密碼輸入框時,增加了檢查功能,當輸入框不存在的時候就等待兩秒,兩秒後再嘗試。同時設定了嘗試次數3次。
if $timer>=3 then
seterror("2")
exitloop
endif
(2)在qtp中截圖功能比較實用,在autoit中同樣提供了截圖的api。
$test= capturescreen("c:\documents and settings\aslandhu\桌面\autoit3","checkcodeerror")
(3)在autoit的web自動化中,以下函式非常常見:
_ieloadwait:等待頁面載入完成
_iegetobjbyname:通過名稱獲取物件,與此對應的還有_iegetobjbyid:通過id獲取物件
_ietagnamegetcollection:獲取所有的tagname為傳入值的物件
python的GUI測試工具 autoItX
python的gui測試工具 autoitx autoitx是autoit v3的dll 版本.它提供autoit的子集,使用activex com 和dll介面.意 思就是你可以新增類autoit的特片到你喜歡的指令碼語言和程式語言當中.像vb,vc,c c,delphi,vbscript等支援d...
使用AutoIT做自動化測試
使用autoit做自動化測試 1.課程設計目的 1 理解自動化測試 2 學會應用autoit進行自動化測試 2.課程設計內容 1 在文字中編輯數學表示式 2 使用autoit讀取該本文進行計算,並將結果儲存 3.課程設計過程 1 安裝autoit軟體,閱讀文件和學習案例 2 設計測試用例 3 使用a...
AutoIt學習資料
autoit 目前最新是v3版本,這是乙個使用類似basic指令碼語言的 免費軟體 它設計用於 windows gui 圖形使用者介面 中進行 自動化 操作.它利用模擬鍵盤按鍵,滑鼠移動和視窗 控制項的組合來實現自動化任務 比如自動安裝 而這是其它語言不可能做到或無可靠方法實現的 例如 vbscri...