概述
uiautomator2 是用來做安卓自動化測試的python庫,主要是對於第三方app 進行測試,獲取屏幕上任意app 的任意一控件屬性,就可以對其進行任意操作,缺點是不支持ios 自動化測試。這里主要介紹的是怎么搭建uiautomator2 環境的。
ios 自動化測試的話可以參考這個 https://github.com/openatx/facebook-wda
一、前提准備:准備安卓設備
1、首先需要一部安卓設備(手機/pad),打開開發者選項,設備連接到電腦上,執行adb devices 的話可以看到連接上的設備。確認能識別到設備ip的話,第一步就成功了。
二、安裝uiautomator2 庫
1.通過pip 安裝 :
pip3 install -U uiautomator2
這里加了-U 參數,是用來升級第三方庫的。有這個情況下安裝的就會是最新版本的uiautomator2 了。
因為我裝的是pip3,所以用的是pip3 ,裝pip 的記得把命令行切換成pip install -u uiautomator2。
2.通過git下載安裝
git clone https://github.com/openatx/uiautomator2
pip install -e uiautomator2
三、安裝weditor
因為uiautomator 是獨占的資源,所以運行atx 的時候,uiautomatorviewer 不能用,因此需要安裝weditor UI 查看器
pip3 install -U weditor
安裝之后,可以在命令行運行 weditor --help 確認是不是成功了,出現以下提示說明ok了。
四、運行weditor
1、運行方式
1.1對於windows 系統,可以通過 weditor --shortcut 在桌面創建快捷方式,點擊快捷方式跳轉瀏覽器頁面。
1.2通過命令行,在命令行直接輸入weditor 可以自動打開瀏覽器。
五、安裝本庫所需要的到的全部設備端程序 uiautomator-server 、atx-agent、openstf/minicap、openstf/minitouch
python -m uiautomator2 init
運行命令行之后會在安卓設備上安裝atx 程序,是需要手動點擊進行安裝操作的;我這里因為已經安裝好了,所以運行的時候顯示的是uiautomator2 和atx-agent 的版本。
六、接第四步跳轉瀏覽器界面之后,界面會顯示和電腦連接的安卓端設備界面(最后在進行這一步操作)。
1.在頂欄把設備型號選擇為Android
2. 在紅框的位置輸入你連接的安卓設備的ip (最開始 adb devices 獲取到的設備信息)
3.點擊connect 進行連接
七、連接之后,就是寫代碼部分了。先貼上簡單版的代碼。供參考。
---------我貼的這個是要實現打開apk 然后退出到桌面,循環100次---------------
import uiautomator2 as u2 import time d = u2.connect('KWQNU19719101548') #連接設備
for i in range(100): time.sleep(3) #等待3s
d.app_start('com.commonrail.mft.decodertest') #傳遞包名作為參數打開apk
time.sleep(6) d.press("home") #返回到桌面