標籤:
無論是selenium還是appium,元素定位都是我們開始實現自動化面臨的第一個問題。selenium還好,我們可以在瀏覽器的調試頁面進行元素定位還是蠻方便的。那麼appium怎麼做呢?
我看到很多資料,文章都是說的appium內建的Inspector這個工具進行的元素定位。而筆者不知道是電腦還是什麼的問題,這個工具是無法使用的。今天給大家說的是另一個工具。
uiautomatorviewer
這個工具是在我們Android的SDK的tools的檔案夾裡面的。使用方法也很簡單。這裡我以安卓模擬器為例給大家進行講解。
首先開啟模擬器,開啟到我們需要定位的元素的頁面。然後再tools中雙擊uiautomatorviewer,這個是個批處理的檔案,雙擊就可以開啟
可以看到這樣的一個畫面。接著點擊上面那兩個帶著小機器人的手機形狀的表徵圖。我還沒弄清楚這倆有啥區別,不過都可以用來輔助我們定位元素這裡先不糾結。
比如,我們現在要定位這一條簡訊的內容。那麼我們就可以通過右邊的text,resource-id,class去定位
這裡的text其實就是我們用的方法中的name
只要通過find_element_by_name()然後把text的值寫到括弧裡就可以了
find_element_by_name("0")
而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等,這些我們下回再講。目前筆者也是水平較淺只掌握了上面的幾種方法。
初探appium之元素定位(1)