appium元素定位

元素定位

pp自动化测试过程中最重要一个环节就是元素定位,只有准确定位到了元素才能进行相关元素的操作,如输入、点击、拖拽、滑动等

元素定位方式

id

Appium中使用 find_element_by_id() 方法来进行id定位。

name

根据name进行定位,对于android来说,就是text属性

使用 find_element_by_name() 方法来进行name定位, 由于text稳定性不是很好,所以appium 1.5开始废弃了该方法。

class

classname定位是根据元素类型来进行定位,但是实际情况中很多元素的classname都是相同的,一般情况下如果有id就不必使用classname定位。

使用find_element_by_class_name() 方法来进行class定位

List定位

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

相对定位

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

Xpath定位

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

H5页面元素定位

Uiautomator定位

UIAutomator元素定位是 Android 系统原生支持的定位方式,虽然与 xpath 类似,但比它更加好用,且支持元素全部属性定位.定位原理是通过android 自带的android uiautomator的类库去查找元素。 Appium元素定位方法其实也是基于Uiautomator来进行封装的。    使用方法 find_element_by_android_uiautomator() 可以运用UiAutomator元素定位。

id定位:  根据元素的resource-id属性来进行定位

eg:driver.find_element_by_android_uiautomator('newUiSelector().resourceId("xxx")').send_keys('xx')

text定位:根据元素的text属性值来进行定位

eg:driver.find_element_by_android_uiautomator\('new UiSelector().text("xx")').send_keys('xxx')

class定位:

eg:driver.find_element_by_android_uiautomator\ ('new UiSelector().className("xx")').send_keys('xx')

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容