selenium2 python自動化測試之利用AutoIt工具實現本地文件上傳
本人在學習基於python語言的selenium2自動測試方法的過程中,發現涉及本地上傳文件的測試時,selenium2在定位本地window窗口的對象(元素)上能力有限。當上傳按鈕使用的是input標籤時,可以使用send_keys()方法添加本地文件路徑輕鬆實現,但有的上傳控件使用的不是input元素,這個時候send_keys()方法是行不通的。經過網上搜索加上自己實踐,總結出一個非常簡單而有效的方法——借用AutoIt工具實現自動化本地上傳文件,在此與大家分享。
1、AutoIt介紹及安裝
AutoIt是一個使用類似BASIC腳本語言的免費軟件,它設計用於Windows GUI(圖形用戶界面)中進行自動化操作,它利用模擬鍵盤按鍵,鼠標移動和窗口/控件的組合來實現自動化任務。
官方下載地址:https://www.autoitscript.com/site/
下載並安裝成功後,在開始菜單中可以看到AutoIt工具,如下圖所示:
AutoIt Window Info: 用於識別Windows控件信息
Compile Script to.exe: 用於將AutoIt編寫的腳本轉換成可執行的文件
Run Script: 用於執行AutoIt腳本
SciTE Script Editor: 用於編寫AutoIt腳本
2、使用方法及步驟
(1)打開AutoIt Window Info工具,用它進行定位windows GUI(windows界面)元素,界面如下圖,
以從本地電腦上傳一張圖片爲例(如下圖),點擊“創建創意素材”按鈕,
彈出文件上傳框:
然後切換到之前打開的AutoIt Window Info工具,找到Finder Tool,鼠標點擊Finder Tool中的小風扇圖標,鼠標變成可移動的小風扇圖標狀,按住鼠標左鍵拖動到文件上傳彈框的文件名輸入框上,記下Class爲Edit,Instance爲1
同理,用同樣方法,獲取“打開”按鈕的Class爲Button,Instance爲1
(2)根據AutoIt Window Info所識別的控件信息,打開SciTE Script Editor編輯器,編寫腳本:
腳本寫好後,點擊Tools->Go,運行腳本。
(3)腳本運行正常,打開安裝程序下的Compile Script to .exe工具,將腳本轉換成可執行文件,如下圖。此可執行文件可被python程序調用
點擊browser按鈕,選擇編好的腳本upload.au3,點擊Convert按鈕將其轉換成可執行的.exe文件
(4)通過python自動化測試腳本調用upload.exe文件,實現自動化上傳