Appium学习笔记4_元素定位方法

时间:2021-08-15 04:25:55

Appium之元素定位,如果对Android上如何使用工具获取页面元素有问题的,请转战到这:http://www.cnblogs.com/taoSir/p/4816382.html

下面主要是针对自己的了解和学习,简单的总结下关于Appium native APP上的一些元素定位方法的使用以及通过UI Automator Viewer定位页面以后,如果从上面定位到你想使用的元素。

已淘宝为例,来进行元素的定位。打开UI Automator Viewer

Appium学习笔记4_元素定位方法

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("百度一下");

Appium学习笔记4_元素定位方法