自动化工具 android7.0 以上的适配问题

TD · July 16, 2018 · Last by goddess520 replied at July 31, 2018 · 1566 hits

我们测试框架是appium+robotframework,最近需要用android8的手机进行跑自动化发现有些元素识别不了,通过百度查到一下:比如更新appium版本,目前我们的是1.4,我更换成1.6.5发现name定位的方式不支持了。因为我们的项目中有一些必须用name这种方式,比如一个listview需要一直往上滑滑到一个指定文字才点击这个文字进去。我尝试通过xpath代替,但是效果不好,虽然不会报错,但是感觉识别不到这个文字。然后通过修改driver.js,uiautomator2这些都不行。这条路不行我又想着之前的老版本怎么能让元素识别起来,通过修改adb.js也是不行的。求助大神这个问题应该怎么解决呢?

共收到 10 条回复 时间 点赞


这个的报错是怎样的?

TD #2 · July 16, 2018 作者
笑哼 回复

没解决呢

find_element_by_android_uiautomator 楼主试试这个,可以完全代替name定位哦

TD #4 · July 17, 2018 作者
文贤平 回复

这个具体怎么使用呢?说的详细一点哈,我们是在RF框架里面,之前都是name=china,如果换成这个是去把源码里面的find_by_name改成调用这个吗

RF没用过,不怎么了解,可以去看看RF里面对应的find_element_by_android_uiautomator是那个

TD #6 · July 18, 2018 作者
笑哼 回复

改成find_elements_by_android_uiautomator("text(\"%s\")" % criteria),可以解决name的问题

TD #7 · July 18, 2018 作者
文贤平 回复

改好之后有没有遇到发现还有好多其他问题,id有时候点击要好久好久,然后启动后有系统弹框就会退出应用进程。。。嘿嘿,这些你有遇到过吗?

id点击时间长这个看起来和改find_elements_by_android_uiautomator没直接的关联哦,你看看是不是别的问题引起的

TD #9 · July 19, 2018 作者
文贤平 回复

嗯嗯,不是这个引起了,应该是appium版本的问题,但是没找到什么解决办法。。。

我之前也遇到 这个问题,后来我在配置中,加了'automationName':'uiautomator2'这个就可以识别了

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up