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

TD · 2018年07月16日 · 最后由 goddess520 回复于 2018年07月31日 · 1358 次阅读

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

共收到 10 条回复 时间 点赞

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

TD #9 · 2018年07月19日 Author
文贤平 回复

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

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

TD #7 · 2018年07月18日 Author
文贤平 回复

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

TD #5 · 2018年07月18日 Author
笑哼 回复

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

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

TD #4 · 2018年07月17日 Author
文贤平 回复

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

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

TD #2 · 2018年07月16日 Author
笑哼 回复

没解决呢


这个的报错是怎样的?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册