標籤:需要 支援 software 自動 線上 exe book try cte
1.對於autoit的環境配置和安裝我就不多說了,網上一搜一大堆。
2.我本來使用selenium對於web進行自動化測試的,但是selenium對於flash也是無能為力,我在網上找了很長時間,對於selenium來說必須要對flash進行重新build來通過js進行操作,但是這是很久以前的方法,我也不清楚是否適用,所以選擇autoit進行類比人工操作是個不錯的選擇。
3.根據我在網上尋找的資料要用autoit對於Firefox進行直接操作,必須要適用FF.au3,對於這樣的操作我在網上找到的資料如下:
Autoit3 本身有內建的使用者自訂函數IE.au3,只限於IE瀏覽器,如果是Firefox瀏覽器需要另外自訂函數。
找了很多資料發現有個FF.au3的自訂函數, http://www.autoitscript.com/forum/topic/95595-ffau3-v0601b-10/
這個是對Firefox瀏覽器的自訂函數庫,這樣就可以通過Firefox訪問網頁。
實現步驟和發現的問題:
1. 下載FF.au3,放在指令碼同目錄下,也可以放在AutoIt3安裝目錄下的,比如: C:\Program Files\AutoIt3\Include。
2. 在Firefox瀏覽器上需要安裝一個外掛程式 MozRepl, https://addons.mozilla.org/en-US/firefox/addon/mozrepl/
點擊直接下載,Firefox會提示安裝,安裝完了之後要開啟,方法是:【工具】->【MozRepl】->【Start】,每次開啟瀏覽器一定要start,否則不能通訊。
MozRepl 會開啟一個連接埠,預設4242,這樣AutoIt3指令碼通過windows api 實現與Firefox瀏覽器通訊,操作瀏覽器實現自動化。
3.編寫指令碼,從線上文檔上面copy一段代碼,FF.au3線上文檔地址 http://english.documentation.ff-au3.thorsten-willert.de/
從線上文檔上面copy第一個demo運行
#include "FF.au3"
_FFStart("http://ff-au3-example.thorsten-willert.de/")
If _FFIsConnected() Then
Sleep(2000)
_FFAction("presentationmode", True)
Sleep(2000)
_FFOpenURL("http://www.baidu.com")
Sleep(2000)
_FFAction("back")
_FFAction("presentationmode", False)
Sleep(2000)
_FFOpenURL("chrome:bookmarks")
Sleep(2000)
_FFAction("alert", "Bye bye ...")
_FFQuit()
EndIf
發現報錯:
! Au3check doesn‘t support input files encoded as UTF8 with BOM: D:\AutoIt\FF.au3
"D:\AutoIt\ftest.au3"(3,54) : error: _FFStart(): undefined function.
..........
這個問題是因為FF.au3這個檔案的編碼是UTF8 with BOM,這是官方推薦的編碼格式,但是Au3check不知道為什麼不支援,解決的辦法是在檔案頭上面加上:
#AutoIt3Wrapper_Run_Au3Check=n 。
4. 加上上面那句好了,可以編譯沒有報錯,可是不能正常工作,查看控制台資訊,顯示錯誤資訊:
__FFStartProcess ==> General Error: Error reading registry entry for FireFox.
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\*CurrentVersion*\Main\PathToExe
4.而我本身習慣適用selenium,所以對於頁面的操作設想,用selenium開啟網頁,在用autoit定位表單,同樣可以實現
滑鼠座標的話可能需要根據實際情況調整。這些資料可以通過拖動右邊的工具上的Finder Tool 來獲得。
5.直接使用autoit內建的編輯器運行會報錯,我也不知道什麼原因,適用內建的工具編輯成EXE來運行就沒有問題了
6.其他的文法什麼的可以在http://www.jb51.net/shouce/autoit/這個網站上查看。
autoit對於web中flash控制項的操作