Appium之元素定位,如果對Android上如何使用工具獲取頁面元素有問題的,請轉戰到這:http://www.cnblogs.com/taoSir/p/4816382.html。
下面主要是針對自己的瞭解和學習,簡單的總結下關於Appium native APP上的一些元素定位方法的使用以及通過UI Automator Viewer定位頁面以後,如果從上面定位到你想使用的元素。
已淘寶為例,來進行元素的定位。開啟UI Automator Viewer
Appium和Webdriver有一點區別在元素定位的方法上,見下面程式碼:
//有點需要注意的是,findElementByAccessibilityId在Selenium上是不帶這個方法的,所以只能用Appium提供的封裝方法 driver.findElementByAccessibilityId(""); //Selenium不帶這個方法 //下面的形式Appium都能使用 driver.findElementByClassName("calssName"); driver.findElement(By.className("className"));
FindElement By ID
針對taobao,購物車的定位。
通過ID定位,開啟UI Automator Viewer, node detail下找到標籤是“resource-id”—>”com.taobao.taobao:id/tv_title”
driver.findElementById("com.taobao.taobao:id/tv_title");
FindElement By Classname
針對taobao,購物車的定位:
通過classname定位(一般情況下,最好不要通過classname來進行元素的定位,避免出現重複),開啟UI Automator Viewer, node detail下找到標籤是“class”—>“android.widget.TextView”
driver.findElementByClassName("android.widget.TextView");
FindElement By Name
針對taobao,購物車的定位:
通過name定位,開啟UI Automator Viewer, node detail下找到標籤是“text”—>“購物車”
driver.findElementByName("購物車");
FindElement By Accessibility Id
針對谷歌瀏覽器開啟的百度首頁,搜尋按鈕的定位:
通過AccessibilityId定位,開啟UI Automator Viewer, node detail下找到標籤是“content-desc”—>“百度一下”
driver.findElementByAccessibilityId("百度一下");