AutoIT測試例項

2022-08-09 17:39:18 字數 2852 閱讀 4872

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...