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目录\tools\bin下 有uiautomatorviewer.bat双击打开
还有组合定位,如class和id组合,父子定位,兄弟定位,定位的方法有很多,活学活用,举一反三,能解决工作中的问题都是可行的
当然除了以上的方法,还有一些不常用的方法,有兴趣的可以查看源码去了解一下,如下: