appium查找元素心得

Posted 菲菲菲菲菲常新的新手

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了appium查找元素心得相关的知识,希望对你有一定的参考价值。

在使用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

以上是关于appium查找元素心得的主要内容,如果未能解决你的问题,请参考以下文章

appium for android 查找元素方法总结

APPIUM API整理(python)---元素查找

Appium:使用 XPath 通过部分 elementId/UID 查找元素

appium 操作同一个元素会去找几遍

Ruby:iOS:使用appium查找屏幕中的所有元素

appium-代码优化--H5页面点击后元素变更,查找元素时,找不到元素