Appium [ 已解决 ] appium 返回执行 click 操作成功,但是实际上没有执行点击操作

niky · 2017年08月07日 · 最后由 thanksdanny 回复于 2017年08月13日 · 4410 次阅读

解决办法:在某些手机上有个安全选项,需要在开发者选项->安全设置(允许模拟点击),打开开关

各位大神求助
环境:appium v1.6.4 + android 6.0.1 +windows
问题:执行 click 操作的时候日志显示点击成功,但是手机端界面是没有发生界面跳转的,日志见下图
另外:已经验证控件已经出现在了界面上(is_displayed 返回 true),在另外一台小米上也是,其他的几台手机都是 OK 的

共收到 24 条回复 时间 点赞

click 执行的时候是不是界面上有 toast? 加个 wait 等 toast 消失试试?

niky #2 · 2017年08月07日 Author
回复

没有 toast 哦,而且我试过了 sleep 10s ,还是没有反应

你确定你点击的控件查找是正确的吗?看起来像你找到了一个不可点击的元素,所以 log 里会有点击的操作记录,但是点击这个元素并不会有任何后续的反应

niky #4 · 2017年08月07日 Author
jizu 回复

确定是正确的(1)我用 uiautomatorviewer.bat 看了控件是 button(2)同样的脚本我用另外的手机是 ok 的

niky 回复

哦 那可能是手机的问题吧,不是很清楚了。你试试脚本多点击几次 button,一直等到下个页面出现,看看能不能点击成功。

应该是没有权限

niky #7 · 2017年08月07日 Author
ghost 回复

什么权限?求教哦

niky 回复

把手机 root 了再试试,之前我遇到过类似的,root 之后可以了。

niky #17 · 2017年08月07日 Author
ghost 回复

感觉 root 手机的成本好高哦

niky 回复

还好吧,需要刷成 MIUI 开发版

niky #11 · 2017年08月07日 Author
ghost 回复

不一定是小米的手机哦,我这有台 vivo 也是这样的

我也觉得新版本有问题,但是我是 1.6.5 跟 iOS,以前的版本点击不可见元素是会抛出异常的,现在返回 None

  1. 关闭不需要检查的 sensor,比如 g-sensor,light-sensor
  2. 执行这个点击操作前,执行 adb shell getevent 命令
  3. 执行这个点击操作,检查下,到时有没有事件输入,如果没有,说明根本未点击,如果有,可能是点了,但没有效果。
niky #14 · 2017年08月07日 Author
bauul 回复

刚试了,adb shell getevent 命令没有输出,说明没有点击,可是我看了 appium 的返回也没有问题啊,现在是完全没有思路

niky 回复

通过 appium 获取该控件,拿到它的坐标值 看一下,可以通过坐标点一下就知道结果了,一般坐标值就会看到问题所在了

niky #16 · 2017年08月07日 Author
JoTsai 回复

可是我出现的问题是这个元素是可见的,self.driver.find_element_by_id('XXXXXX').is_displayed() 返回的是 true

niky #17 · 2017年08月08日 Author
bauul 回复

通过 element.location 获得坐标值是:location: {'x': 467, 'y': 903}
通过 uiautomatorviewer.bat 查看的坐标值也是:

保持一致应该是没错的吧

niky 回复

既然坐标没错,那么你就可以通过坐标再点一下这个位置就可以达到测试目的了,然后再分析它出错的原因好了

niky #7 · 2017年08月08日 Author
bauul 回复

报错:Command returned error:java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission
而且我在被测 app 里加入 INJECT_EVENTS 还是提示报错

解决了,需要打开开发者模式里面的安全设置,允许模拟点击😂

niky 回复

服气。可以在原帖子里面加上解决方法,方便别的同学。

niky 回复

解决啦,厉害

niky #23 · 2017年08月08日 Author
jizu 回复

好哒

妈蛋!!我也中招了,折腾一晚上最后进论坛才发现是因为这个!!!

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