Appium元素定位

元素定位

app自动化测试最重要的一个环节是元素定位,只有准确定位到元素才能进行相关元素操作,如输入、点击、拖拽、滑动等。appium提供了许多元素定位方法,如id定位、class定位、name定位、层级定位等等

元素定位方式

id、name、class、List定位、相对定位、Xpath定位、H5页面元素定位、Uiautomator定位

id定位

appium中可以使用find_element_by_id()方法进行定位

id定位

id定位综合实践:(自动登录)


自动登录

name与classname定位

appium中可以使用find_element_by_name()方法进行定位,实际是text的值

name定位

appium中可以使用find_element_by_class_name()方法进行定位,实际是class的值(缺点是若界面存在多个元素的classname相同,则不能使用该种定位方式)

classname定位


示意图1

相对定位

相对定位是先找到该元素的对应属性的父元素节点,然后基于父元素进行元素定位

相对定位

xpath定位

xpath定位是一种路径定位方式,主要是依赖于元素绝对路径或者相关属性来定位,但是绝对路径xpath执行效率比较低(特别是元素路径比较深的时候),一般使用比较少,通常使用xpath相对路径和属性定位

xpath定位:https://www.runoob.com/xpath/xpath-syntax.html




xpath定位

List定位

list定位首先是使用find_elements_by_XX,获取一组相同的class属性元素,然后使用数组下标来区分标记不同元素进行相关操作

list定位

list定位综合案例:


多元素定位

Uiautomator定位

Uiautomator元素定位是Android系统原生支持的定位方式,虽然与xpath类似,但比它更加好用,且支持元素去阿奴属性定位,定位原理是通过Android自带的android uiautomator的类库去查找元素。Appium元素定位方法其实也是基于Uiautomator进行封装的

定位方法

1.id定位

       new UiSelector().resourceId('')

2.text定位

         new UiSelector().text('')

3.class name定位

           new UiSelector().className('')

Uiautomator定位

H5页面元素定位

环境搭建:1.手机和电脑下载chrome浏览器(版本最好一致)

                    2.下载chromeDriver,并放到appium的安装目录之下(chromeDriver版本要与chrome版本对   应)

                        具体版本对应:https://blog.csdn.net/BinGISer/article/details/88559532

                    3.在chrome浏览器中输入chrome://inspect/#devices ,检查webview是否打开


操作步骤


webview

具体代码实践:


h5界面元素定位

你可能感兴趣的:(Appium元素定位)