開門見山的說
突然對自動化測試有了興趣,學習了uiautomator2的使用,目前來說它的優勢有很多,例如
- 設備和開發機可以脫離數據線,通過WiFi互聯(基於atx-agent)
- 集成了openstf/minicap達到實時屏幕投頻,以及實時截圖
- 集成了openstf/minitouch達到精確實時控制設備
- 修復了xiaocong/uiautomator經常性退出的問題
- 代碼進行了重構和精簡,方便維護
- 實現了一個設備管理平台(也支持iOS) atxserver2
- 擴充了toast獲取和展示的功能
環境的搭建
Android環境
從谷歌官網下載Android Platform Tools
https://developer.android.com/studio/releases/platform-tools.html
解壓后將包含adb.exe的目錄假如的系統變量的path,驗證一下
adb devices
假如正常顯示信息,表示安裝正常
UIAutomator安裝
pip3 install --pre -U uiautomator2
連接手機
通過usb將手機連接到電腦輸入命令 adb devices 發現設備后表明已連接成功,控制台輸入命令
python3 -m uiautomator2 init
成功后會顯示 successfully init AdbDevice
手機連接操作
通過USB連接到電腦
手機的序列號可以通過adb devices獲取到,假設序列號是123456f,連接代碼為
import uiautomator2 as u2
d = u2.connect_usb('xxxxx')
控件識別
使用weditor進行元素識別,
安裝方法為:
pip3 install --pre weditor
使用方法為:
- 手機連接pc,adb命令保證能正確讀取到設備
- pc終端輸入python3 -m weditor,瀏覽器自動打開網頁http://atx.open.netease.com
- 網頁對應位置輸入手機設備ip,點擊connect連接手機設備,最后根據需要獲取手機/app對應元素
自動化UI的編寫
具體可以參考github:
https://github.com/openatx/uiautomator2