您的位置:軟件測試 > 開源軟件測試 > 開源軟件測試解決方案 >
autoit-解決非標準B/S自動化測試的一個很好的思路
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/12/4 13:31:55 ] 推薦標簽:

AutoIt 目前新是v3版本,這是一個使用類似BASIC腳本語言的免費軟件,它設(shè)計用于Windows GUI(圖形用戶界面)中進行自動化操作.它利用模擬鍵盤按鍵,鼠標移動和窗口/控件的組合來實現(xiàn)自動化任務(wù).
過多專業(yè)語言不廢話,google下有很多,在公司里碰到支付寶密碼控件用watir無法識別的情況(確切的說是無法輸入密碼),困擾了好半天,突然想起用autotit來處理也許可以,稍微琢磨了下,code:
WinActivate("支付寶 - 收銀臺 - Windows Internet Explorer")
ControlSend("支付寶 - 收銀臺 - Windows Internet Explorer", "", "[CLASS:ATL:Edit; INSTANCE:1]", "password")
==>轉(zhuǎn)換為watir語法
require "win32ole"
alipay = WIN32OLE.new("AutoItX3.Control")
alipay.WinActivate("支付寶") #這行可以省略
alipay.ControlSend("支付寶", "", "[CLASS:ATL:Edit; INSTANCE:1]", "1111112")
補充說明下:
文本輸入語法有很多,各不相同,時間緣故還未深入研究其區(qū)別,有問題的時候不妨挨個試試^^,其他輸入文本的語法列舉:
1.ControlSetText("[ACTIVE]","","[CLASS:ATL:Edit; INSTANCE:1]","password")
2.Send("password",1)
->send要與click動作輔助使用(先獲取控件焦點)
mouseclick("left",357,508) 或
ControlClick("阿里旺旺2009", "", "[CLASS:StandardButton;INSTANCE:8]","left",1)

總結(jié):對于非標準的html標簽的識別和操作,autoit是一個很好的解決問題的思路!

附兩個案例
1.計算器加法
Run("calc.exe")
WinWaitActive("計算")
ControlClick("計算器","","1")
ControlClick("計算器","","+")
ControlClick("計算器","","2")
ControlClick("計算器","","=")
$Result = ControlGetText("計算器","",403)
if $Result == "3. " Then
FileWriteLine("c: esult.txt","正確。")
Else
FileWriteLine("c: esult.txt","錯誤!")
EndIf
WinClose("計算器")

2.登錄聊天工具、發(fā)消息、退出
;參數(shù)變量設(shè)置
Global $userid = "zhanqiao123"     ;用戶id
Global $password = "password"    ;用戶password
Global $message = "autoit的測試,呵呵!"  ;發(fā)送消息內(nèi)容
Global $aliwangwang = "阿里旺旺2009"   ;旺旺title
Global $wangwangTitle = $userid & "-" & $aliwangwang ;登錄后的旺旺title
Global $aliwangPath = "C:Program FilesAliWangWang"
sign_in()        ;登錄阿里旺旺
send_message()   ;查找用戶,并發(fā)送旺旺消息
;sign_out()      ;注銷阿里旺旺
exit_process()   ;退出阿里旺旺
Func send_message()
;功能實現(xiàn):查找并發(fā)送旺旺消息
WinActivate($wangwangTitle)
;ControlSend($wangwangTitle, "", "[CLASS:EditComponent; INSTANCE:2]", $userid) ;如何清空原先已經(jīng)存在內(nèi)容?
$Z=wingetpos($wangwangTitle) ;獲取坐標
;用戶名輸入
mouseclick("left",$Z[0]+100,$Z[1]+111)   ;搜索用戶名輸入框
Send("{HOME}+{END}{Delete}") ;清空原有內(nèi)容
Send($userid,1) ;1表示全部為普通字符
Sleep(2000)
mouseclick("left",$Z[0]+100,$Z[1]+163)   ;點擊搜索到的用戶名

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd