不管是selenium仍是appium,元素定位都是咱們開始實現自動化面臨的第一個問題。selenium還好,咱們能夠在瀏覽器的調試頁面進行元素定位仍是蠻方便的。那麼appium怎麼作呢?css
我看到不少資料,帖子都是說的appium自帶的Inspector這個工具進行的元素定位。而筆者不知道是電腦仍是什麼的問題,這個工具是沒法使用的。今天給你們說的是另外一個工具。python
uiautomatorviewerandroid
這個工具是在咱們Android的SDK的tools的文件夾裏面的。使用方法也很簡單。這裏我以安卓模擬器爲例給你們進行講解。web
首先打開模擬器,打開到咱們須要定位的元素的頁面。而後再tools中雙擊uiautomatorviewer,這個是個批處理的文件,雙擊就能夠打開瀏覽器
能夠看到這樣的一個畫面。接着點擊上面那兩個帶着小機器人的手機形狀的圖標。我還沒弄清楚這倆有啥區別,不過均可以用來輔助咱們定位元素這裏先不糾結。app
好比,咱們如今要定位這一條短信的內容。那麼咱們就能夠經過右邊的text,resource-id,class去定位工具
這裏的text其實就是咱們用的方法中的nameui
只要經過find_element_by_name()而後把text的值寫到括號裏就能夠了調試
find_element_by_name("0")blog
而resource-id實際上就是id
經過find_element_by_id("com.android.mms:id/text_view")也可以完成這個元素的定位
class呢是classname,這個不是webdriver的方法,是appiumdriver的方法。還能夠協助咱們進行xpath方法的定位這個下回再說。
這裏還有一個東西要講一下就是content-desc
這個其實是咱們python的appium中appiumdriver的另外一個方法
find_element_by_accessibility_id("")這個也是元素定位的方法,不過這裏是空的因此沒法完成定位。
定位的方法還有不少,classname,css,xpath等,這些咱們下回再講。目前筆者也是水平較淺只掌握了上面的幾種方法。