UIAutomator2

介紹一種Android UI自動化框架UIAutomator2,使用發(fā)現(xiàn)該框架有如下優(yōu)點(diǎn):
1.環(huán)境搭建便捷
2.UI控件識別有專業(yè)工具顶滩,可視化好
3.UI自動化編寫采用python乔遮,學(xué)習(xí)成本低
4.UI自動化腳本運(yùn)行穩(wěn)定

缺點(diǎn):
存在設(shè)備兼容性問題遵蚜,如:
華為手機(jī)呼盆,無法通過IP離線執(zhí)行UI自動化
三星S8手機(jī)微信webview頁面無法識別元素

環(huán)境搭建

Android環(huán)境

從谷歌官網(wǎng)下載Android Platform Tools https://developer.android.com/studio/releases/platform-tools.html坎匿,解壓盾剩,并加包含adb.exe的目錄加入到系統(tǒng)的PATH中
環(huán)境安裝后驗(yàn)證代碼

adb devices
image.png

python3環(huán)境

python3環(huán)境搭建參考先前的文章
http://www.reibang.com/p/da803d5f7ccd

UIAutomator安裝

python2安裝命令

pip install --pre -U uiautomator2

python3安裝命令

pip3 install --pre -U uiautomator2
image.png

手機(jī)設(shè)備環(huán)境

手機(jī)鏈接pc,輸入adb命令adb devices發(fā)現(xiàn)設(shè)備后表明設(shè)備已連接成功
pc終端輸入命令替蔬,以安裝atx-agent至手機(jī)

python3 -m uiautomator2 init

安裝成功如下圖


image.png

應(yīng)用及操作

uiautomator2使用基本過程
1.選擇合適的方式連接手機(jī)告私,如usb數(shù)據(jù)線,Wi-Fi
2.使用工具承桥,抓去手機(jī)app的控件元素
3.基于元素控件驻粟,調(diào)用uiautomator2 API編寫UI自動化腳本

手機(jī)連接方式

1.使用WIFI連接
手機(jī)獲取到手機(jī)的IP,并確保電腦可以PING通手機(jī)凶异。手機(jī)的IP可以在設(shè)置-WIFI設(shè)置里面獲取到蜀撑。華為手機(jī)無法通過Wi-Fi連接(華為系統(tǒng)原因)
比如手機(jī)的IP是10.242.23.215,連接設(shè)備的代碼為

import uiautomator2 as u2  //依賴包
d = u2.connect('10.242.23.215')

2.使用USB連接

手機(jī)的序列號可以通過adb devices獲取到剩彬,假設(shè)序列號是123456f酷麦,連接代碼為

import uiautomator2 as u2
d = u2.connect_usb('xxxxx')

控件識別

使用weditor進(jìn)行元素識別,
安裝方法如下:

pip3  install --pre weditor
image.png

使用方法
1.手機(jī)連接pc襟衰,adb命令保證能正確讀取到設(shè)備
2.pc終端輸入python3 -m webditor贴铜,瀏覽器自動打開網(wǎng)頁http://atx.open.netease.com
3.網(wǎng)頁對應(yīng)位置輸入手機(jī)設(shè)備ip,點(diǎn)擊connect連接手機(jī)設(shè)備瀑晒,最后根據(jù)需要獲取手機(jī)/app對應(yīng)元素
正常啟動頁面如下:
設(shè)備id輸入/Connect連接/reload刷新頁面

image.png

UI自動化編寫

具體參考git:
https://github.com/openatx/uiautomator2

操作控件

# click
d(text="Settings").click()

# long click
d(text="Settings").long_click()

# 等待元素的出現(xiàn)
d(text="Settings").wait(timeout=10.0)

中文字符輸入

d(text="Settings").set_text("你好")
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绍坝,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子苔悦,更是在濱河造成了極大的恐慌轩褐,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玖详,死亡現(xiàn)場離奇詭異把介,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蟋座,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進(jìn)店門拗踢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人向臀,你說我怎么就攤上這事巢墅。” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵君纫,是天一觀的道長驯遇。 經(jīng)常有香客問我,道長蓄髓,這世上最難降的妖魔是什么叉庐? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮会喝,結(jié)果婚禮上陡叠,老公的妹妹穿的比我還像新娘。我一直安慰自己好乐,他們只是感情好匾竿,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蔚万,像睡著了一般岭妖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上反璃,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天昵慌,我揣著相機(jī)與錄音,去河邊找鬼淮蜈。 笑死斋攀,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的梧田。 我是一名探鬼主播淳蔼,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼裁眯!你這毒婦竟也來了鹉梨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤穿稳,失蹤者是張志新(化名)和其女友劉穎存皂,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逢艘,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡旦袋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了它改。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疤孕。...
    茶點(diǎn)故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖央拖,靈堂內(nèi)的尸體忽然破棺而出祭阀,到底是詐尸還是另有隱情截亦,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布柬讨,位于F島的核電站,受9級特大地震影響袍啡,放射性物質(zhì)發(fā)生泄漏踩官。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一境输、第九天 我趴在偏房一處隱蔽的房頂上張望蔗牡。 院中可真熱鬧,春花似錦嗅剖、人聲如沸辩越。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽黔攒。三九已至,卻和暖如春强缘,著一層夾襖步出監(jiān)牢的瞬間督惰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工旅掂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留赏胚,地道東北人。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓商虐,卻偏偏與公主長得像觉阅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子秘车,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容