本文章轉(zhuǎn)載于搜狗測(cè)試
在這個(gè)系列的上一篇文章中大咱,我們介紹了MonkeyRunner亲族,并提到如果根據(jù)坐標(biāo)來編寫自動(dòng)化腳本的話存在著一定的局限性(點(diǎn)擊文末“閱讀原文”可以打開這篇文章查看)粉捻。這篇文章將進(jìn)一步介紹根據(jù)控件的id來編寫自動(dòng)化腳本的方法
根據(jù)控件的id來操作控件
從Android 2.3.3開始惑惶,MonkeyRunner增加了EasyMonkeyDevice和By這兩個(gè)類谅辣,它們都位于com.android.monkeyrunner.easy包內(nèi)漾橙,借助這兩個(gè)類,我們就可以根據(jù)控件的id來操作控件燃乍。
在這個(gè)系列的上一篇文章中唆樊,我們展示了搜狗手機(jī)瀏覽器在進(jìn)入設(shè)置頁面后,不同的分辨率下控件的絕對(duì)坐標(biāo)并不相同刻蟹。
這時(shí)如果我們想要點(diǎn)擊其中一個(gè)控件逗旁,比如說更換皮膚,就要用到下面的方法:
其中id/rl_preference_skin就是更換皮膚這個(gè)控件的id舆瘪,那么怎樣才能知道每個(gè)控件的id是什么呢片效?可以借助Adt的另外一個(gè)工具HierarchyViewer
使用HierarchyViewer查看控件的id
HierarchyViewer的可執(zhí)行文件叫做hierarchyviewer.bat,跟monkeyrunner.bat在同一個(gè)目錄下英古,運(yùn)行后會(huì)出現(xiàn)這樣的界面
列表中列出了正在運(yùn)行中的Activity淀衣,點(diǎn)擊搜狗手機(jī)瀏覽器設(shè)置界面的Activity——,可以解析出整個(gè)界面的布局召调,這個(gè)過程可能稍微有些慢膨桥。
應(yīng)用的布局有時(shí)是非常復(fù)雜的,我們不需要一點(diǎn)一點(diǎn)的找某残,可以在右下角的示意圖中點(diǎn)擊我們想查看的控件国撵,這時(shí)控件就會(huì)在左側(cè)的控件樹中被選中。
在左側(cè)的控件樹中玻墅,列出了控件的基本信息介牙,比如我們需要的控件id。
最后需要說明的是澳厢,根據(jù)控件的id來操作控件要求設(shè)備開啟了ViewServer环础,現(xiàn)在大部分設(shè)備都是沒有開啟ViewServer的,如果實(shí)在找不到開啟了ViewServer的設(shè)備剩拢,就使用模擬器吧