最近公司要求為Windows 端桌面應用進行UI自動化測試,之前都是針對web端進行的UI自動化測試或者在早期使用的是QTP(Quick Test Professional)做PC端的UI自動化測試,而基于"經費"緊張,優先選擇開源的工具,所以選擇了selenium + WinAppDriver來實現。
首先,整理了一個表格用于快速了解本UI自動化測試框架的主要的工具和它們的作用:
工具名 | 主要作用 | 備注 |
---|---|---|
WinAppDriver | Windows 應用程序驅動服務,提供自動化接口 | 需單獨安裝并啟動,類似 Web 測試中的瀏覽器驅動 |
Selenium | 操作 Web 元素的核心庫,用于發送指令到 WinAppDriver | 通過 WebDriver 協議與 WinAppDriver 通信 |
Appium-Python-Client | 一個讓 Selenium 能與 Appium/WinAppDriver 通信的 Python 庫 | 通常使用 webdriver.Remote 來連接 |
Accessibility Insights | 推薦的元素識別工具,用于定位界面元素 | 比傳統的 Inspect.exe 更友好高效 |
包名 | 版本 |
---|---|
selenium | 3.141.0 |
urllib3 | 1.26.18 |
Appium-Python-Client | 1.2.0 |
??? 環境搭建步驟
- 啟用開發者模式:在 Windows 設置中開啟“開發者模式”。
- 關閉防火墻
如果是遠程連接(A計算機寫代碼,連接B計算機執行測試,被測系統安裝在B計算機上)
則需要把WinAppDriver安裝在B計算機上,打開開發者模式,并且關閉防火墻
-
安裝 WinAppDriver:
- 從 GitHub 發布頁面下載最新的
WinAppDriver.exe
。
WinAppDriver下載地址 - 建議將其安裝路徑添加到系統環境變量
Path
中,方便后續啟動。
- 從 GitHub 發布頁面下載最新的
-
啟動WinAppDriver
本機啟動
直接進入安裝目錄雙擊WinAppDriver.exe即可啟動
遠程啟動,需要指定IP
-
以管理員身份打開cmd
-
啟動
比如被測系統安裝在機器B上,機器B的IP是:192.168.1.10,那么就寫:WinAppDriver.exe 192.168.1.10 4723 -
安裝元素識別工具:強烈推薦安裝 Accessibility Insights for Windows,它比傳統的
Inspect.exe
更直觀易用。