App UI自动化,appium使用最频繁的应该就是定位元素了
Appium常用的元素属性值:
resource-id:此属性值是唯一的,元素如果有resource-id属性,优先选择resource-id,定位方法:
driver.find_element_by_id(resource-id属性值)
class_name:HTML通过使用class来定义元素的样式,一般会有多个,只能使用其中一个,定位方法:
driver.find_element_by_class_name(class_name的属性值)
xpath:
driver.find_element_by_xpath("//*[@text='value']")
// 为全局
* 给筛选的元素指定一个标签
[ ] 添加筛选条件
@ 筛选条件的属性,后面跟属性的名称
text 可以通过文本来查找关键字
value 属性的值
and 可以添加多个条件的关联,eg:
("//*[@text = '确定' and @class = 'android.widget.ImageView']")
元素的操作:
一般我们使用点击,清除,输入比较多
点击操作:
eg:
driver.find_element(By.ID,"resource-id属性值").click
清除操作:
eg:
driver.find_element(By.ID,"resource-id属性值").clear
输入操作:
eg:
driver.find_element(By.ID,"resource-id属性值").send_keys('value')
获取元素文本内容:
eg:
driver.find_element(By.ID,"resource-id属性值").text
获取元素的位置:
eg:
driver.find_element(By.ID,"resource-id属性值").location
返回一个字典坐标
获取元素的大小:
driver.find_element(By.ID,"resource-id属性值").size
返回一个字典坐标
获取元素的属性:
driver.find_element(By.ID,"resource-id属性值").get_attribute('attribute')
get_attribute中attribute输入:resource-id,class_name,text,package
返回str和你想要获取的元素的属性
如果定位不到元素会出现NoSuchElementException错误,就可以使用组合定位的方式来解决这个问题。
标签:定位,appium,resource,元素,driver,find,element,id,属性 From: https://www.cnblogs.com/dylancoding/p/16639641.html