1、介紹
鏈接:https://github.com/openatx/uiautomator2#installation
uiautomator2 是一個(gè)可以使用Python對(duì)Android設(shè)備進(jìn)行UI自動(dòng)化的庫(kù)伊约。其底層基于Google uiautomator,Google提供的uiautomator庫(kù)可以獲取屏幕上任意一個(gè)APP的任意一個(gè)控件屬性勤哗,并對(duì)其進(jìn)行任意操作,但有兩個(gè)缺點(diǎn):1. 測(cè)試腳本只能使用Java語(yǔ)言 2. 測(cè)試腳本必須每次被上傳到設(shè)備上運(yùn)行掩驱。 我們希望測(cè)試能夠用一個(gè)更腳本化的語(yǔ)言芒划,例如Python編寫,同時(shí)可以每次所見(jiàn)即所得地修改測(cè)試欧穴、運(yùn)行測(cè)試民逼。這里要非常感謝 Xiaocong He (@xiaocong),他將這個(gè)想法實(shí)現(xiàn)了出來(lái)(見(jiàn)xiaocong/uiautomator)涮帘,原理是在手機(jī)上運(yùn)行了一個(gè)http服務(wù)器缴挖,將uiautomator中的功能開(kāi)放出來(lái),然后再將這些http接口焚辅,封裝成Python庫(kù)映屋。 我們的uiautomator2項(xiàng)目是對(duì)xiaocong/uiautomator的增強(qiáng),主要有以下部分:
- 設(shè)備和開(kāi)發(fā)機(jī)可以脫離數(shù)據(jù)線同蜻,通過(guò)WiFi互聯(lián)(基于atx-agent)
- 集成了openstf/minicap加快截圖速度
- 集成了openstf/minitouch達(dá)到精確實(shí)時(shí)控制設(shè)備
- 修復(fù)了xiaocong/uiautomator經(jīng)常性退出的問(wèn)題
- 代碼進(jìn)行了重構(gòu)和精簡(jiǎn)棚点,方便維護(hù)
2、安裝
參考上述鏈接湾蔓,過(guò)程中也遇到一些問(wèn)題瘫析,記錄如下。
1默责、安裝pip :
sudo easy_install pip
2贬循、安裝uiautomator2
pip install --user --upgrade --pre uiautomator2
注意要加--user,不然會(huì)報(bào)錯(cuò)
3桃序、安裝pillow
pip install pillow
4杖虾、自動(dòng)安裝本庫(kù)所需要的設(shè)備端程序:uiautomator-server 、atx-agent媒熊、openstf/minicap奇适、openstf/minitouch
python -m uiautomator2 init
5、因?yàn)閡iautomator是獨(dú)占資源芦鳍,所以當(dāng)atx運(yùn)行的時(shí)候uiautomatorviewer是不能用的嚷往,為了減少atx頻繁的啟停,有大神開(kāi)發(fā)了基于瀏覽器技術(shù)的weditor UI查看器柠衅。https://github.com/openatx/weditor
pip install --user --pre -U weditor