在使用appium测试app的时候并没有selenium那么好用,为什么呢?
个人觉得是因为定位方式太少,selenium中的xpath已经强大到基本可以找到任何一个元素。
但是在appium中xpath并不好用,而且经常是很长一串的,效果不好。基本都用resource_id来定位,那么问题来了,没有resource_id怎么办,用content-desc,这是个帮助盲人使用的东西,可以使用find_element_by_accessibility_id来定位,那么问题又来了如果这个content-desc里面有空格换行符什么的怎么办?如何用类似xpath中的contains的东西来定位呢?这里有个思路,通过class_name来查找包含要找的元素的一个组,通过遍历每个元素,判断元素的get_attribute(‘name‘)中是否包含关键词来确定是否是我们要找的元素。
elements = driver.find_elements_by_class_name(‘xxx‘):
for element in elements:
if key in element.get_attribute(‘name‘):
print ‘element find‘
但是有个问题必须说明下get_attribute(‘name‘)有可能返回content-desc也有可能返回text,一般来说如果没有content-desc的话会返回text
时间: 2024-10-13 09:09:49