Appium定位元素方法

根据ID

在安卓应用自动化的时候,如果能根据ID选择定位元素,最后根据ID,

英文一般来说ID是唯一的,所有根据ID选择效率高,

但是ID,是安卓应用元素的resource-id属性

使用代码如下:

driver.find_element_by_id('expand_serach')

 

根据ClASS NAME

安卓界面元素的属性 其实就是根据元素的类型 类似web里面的tagname、所以通常不是唯一的

通常、我们根据class属性来选择元素、是要选择多个而不是一个。

如果确定要找的界面元素的类型在当前页面中只有一个、就可以根据class来唯一选择

使用代码如下:

deiver.find_elements_by_class_name('android.widget.TextView')

由图看出搜索出的元素id相同,但是也有相同的class 这个时候我们可以根据find_elements_by_class_name 一起定位

 

 

 

根据ACCESSIBLITY ID

元素的 content-desc属性是用来描述该元素的作用的

如果要查询的界面有 content-desc属性,为我们可以通过它来定位选择元素

使用代码如下

driver.find_element_by_accessibility_id('搜索查询')

直接搜索 元素的描述

 

 

Xpath

Appium 也支持 Xpath选择元素

但是其可靠性和性能不如 Selenium Web自动化, 因为Web自动化对Xpath的支持是由浏览器实现的,而Appium Xpath的支持是Appium Server 实现的

毕竟,浏览器产品的成熟度对比Appium要高很多

当然、Xpath是标准语法,所以这里表达式的语法规则和Selenium里面的Xpath的语法

是一样的,

使用代码如下:

driver.find_element_by_xpath('//ele/ele2[@attr="value"]')

也可利用放大镜xpath定位元素

 

posted @ 2020-06-21 17:46  老祝头  阅读(1087)  评论(0编辑  收藏  举报