介紹:
uiautomator2 是一個可以使用Python對Android設備進行UI自動化的庫。其底層基於Google uiautomator,Google提供的uiautomator庫可以獲取屏幕上任意一個APP的任意一個控件屬性,並對其進行任意操作,但有兩個缺點:
1、測試腳本只能使用Java語言。
2、測試腳本必須每次被上傳到設備上運行。 我們希望測試能夠用一個更腳本化的語言,例如Python編寫,同時可以每次所見即所得地修改測試、運行測試。
安裝:
pip install --pre uiautomator2
pip install pillow
初始化:
部署相關的守護進程。
電腦連接上一個手機或多個手機, 確保adb已經添加到環境變量中,執行下面的命令會自動安裝本庫所需要的設備端程序:uiautomator-server 、atx-agent、openstf/minicap、openstf/minitouch
python -m uiautomator2 init
安裝完成,設備上會多一個uiautomator的應用。
weditor安裝:
我們可以借助Android SDK自的uiautomatorviewer查看元素,這就要求手機必須以USB的方式連接PC,我前面使用的是WIFI連接進行連接的。所以,openatx提供了另外一個工具weditor 來解決這個問題。
weditor是一個可以讓uiautomator顯示Android UI界面的工具。
pip install --pre --upgrade weditor
使用:
python -m weditor
執行命令后,默認會通過瀏覽器打開頁面
在頁面左上角選擇Android,輸入設備IP(192.168.31.234),點擊Connect按鈕。
當我們操作完手機后,可以點擊“Reload”按鈕進行刷新,從而保持與設備上的界面保持同步。weditor 還可以幫我們生成代碼。
***還可以無線鏈接,在同一WiFi下,手機鏈接IP地址。
GitHub地址:https://github.com/openatx/uiautomator2
GitHub地址:https://github.com/openatx/weditor