appium元素定位方法介绍

appium常用的元素定位方法

优先级:

一般情况下选择定位方法的顺序是这样的 id定位>accessibility_id定位>class定位>xpath定位>tap定位

最后一种tap是不到万不得已,不建议使用,因为不同手机分辨率不同,导致写好的代码在其他手机无法定位到元素。

第一种、通过id定位:resource-id

当目标元素有resource-id且该id唯一,或者排在第一位的时候使用

格式:driver.find_element_by_id()

 

 第二种、通过class_name定位:class  

注意class很多都不唯一,所以要验证一下,一般使用复数定位比较多

格式:driver.find_element_by_class_name()

第三种、通过accessibility_id定位:content-desc

格式:driver.find_element_by_accessibility_id()

第四种、通过xpath定位

格式:driver.find_element_by_xpath()

示例:driver.find_element_by_xpath(//*ele[@class='android.widget.ImageView'])

第五种、通过tap模拟手指点击定位

格式:driver.tap()

示例:driver.tap([(60,138)],300)  注意着里面的格式(第一个参数时列表,列表里面是元祖)

解释:第一个是positions,是list类型最多五个点,duration是持续时间,单位毫秒

下图工具是SDK自带的java开发的uiautomatorviewer,如果你安装了jdk,在sdk目录 oolsin下 有uiautomatorviewer.bat双击打开

还有组合定位,如class和id组合,父子定位,兄弟定位,定位的方法有很多,活学活用,举一反三,能解决工作中的问题都是可行的

当然除了以上的方法,还有一些不常用的方法,有兴趣的可以查看源码去了解一下,如下:

原文地址:https://www.cnblogs.com/king2/p/13698077.html