Appium android 7.0 版本无法进行定位,大家有什么办法可以解决?

Pxc · 2018年08月01日 · 最后由 Pxc 回复于 2018年08月13日 · 2146 次阅读

设备:红米 4X
android 版本 :7.0
环境:python3.5 + appium 1.8.1

原因:
我一开始用 uiautormator.bat 来截屏来获取 APP 元素,ID、Xpath、Class 各种各样的方法都试过,但在 pycharm 都无法定位,于是在网上找原因,试过网上无数种办法,还是无法定位😭
有人说 android7.0 以上必须要声明 uiautomator 版本,https://testerhome.com/topics/9684
我加了个:desired_caps['automationName'] = "uiautomator2",

但是报错

我于是按照那位说的进行 npm 安装,但失败了,接着下载了那个 UiAutomator2.zip 文件并解压到对应目录,进行执行,还是报之上面的错误。
我为了验证网上那位大神说的问题,我找别人借了个魅族手机(android 6.0.1),发现真的可以定位点击😱 ,真的不是我的代码问题😏

但那个 6.0.1 手机是别人的,no Test Mobile,测试嘛,现在也是主流 7.0 以上的了,不能因为这个问题而放弃嘛,所以就来求教各位 tester,如何解决这个问题

共收到 9 条回复 时间 点赞

好歹你看看报错信息啊,这个不是定位不到控件问题,而是 server 的 certificate sign 失败。是不是你公司电脑限制了 c 盘权限呀。

把 appium 卸载了重新安装到个人账户

Pxc #3 · 2018年08月02日 Author
0x88 回复

是我描述有点问题,这个错误是增加 desired_caps['automationName'] = "uiautomator2"之后报的错,我不增加这个的时候就报无法定位元素。


报错的这些包也是有的

Pxc #4 · 2018年08月02日 Author
TD 回复

我试过了,没有效果

Pxc #6 · 2018年08月07日 Author
Ching-Ching 回复

我就是按照这里说的做的,无法解决

你去手机里找找 appium-uiautomator2-server-debug-androidTest.apk 和 appium-uiautomator2-server-v1.10.0.apk 这两个 apk,卸载掉 然后再试试

楼主,我跟你遇到了相同的问题,只要加入这个代码 desired_caps['automationName'] = "uiautomator2",就会报错,不加入就无法定位。如果你解决了,请一定告知下我。

Pxc #9 · 2018年08月13日 Author
littlefive 回复

目前我已经解决了😃
我是使用 cnpm install appium-uiautomator2-server,
安装成功后去到 nodejs 目录 D:\Program Files\nodejs\node_modules_appium-uiautomator2-server@1.13.0@appium-uiautomator2-server,找到刚才安装的包,

然后将这些文件复制到 appium 的目录也就是
C:\Program Files (x86)\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server
然后就成功了,因为我主要是无法 *** 导致下载失败的,你可以尝试一下

Pxc 关闭了讨论 08月27日 15:24
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册