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

huangxiaojiao · 发布于 2017年08月07日 · 最后由 thanksdanny 回复于 2017年08月13日 · 最后更新自管理员 Lihuazhang · 1497 次阅读

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

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

共收到 24 条回复
5321

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

1803
5321clovey 回复

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

9360

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

1803
9360shitou 回复

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

9360
1803huangxiaojiao 回复

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

12109

应该是没有权限

1803
12109ghost62184 回复

什么权限?求教哦

12109
1803huangxiaojiao 回复

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

1803
12109ghost62184 回复

感觉root手机的成本好高哦

12109
1803huangxiaojiao 回复

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

1803
12109ghost62184 回复

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

Fe45d1

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

2562
  1. 关闭不需要检查的sensor,比如g-sensor,light-sensor
  2. 执行这个点击操作前,执行adb shell getevent命令
  3. 执行这个点击操作,检查下,到时有没有事件输入,如果没有,说明根本未点击,如果有,可能是点了,但没有效果。
1803
2562carl 回复

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

2562
1803huangxiaojiao 回复

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

1803
Fe45d1JoTsai 回复

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

1803
2562carl 回复

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

保持一致应该是没错的吧

2562
1803huangxiaojiao 回复

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

1803
2562carl 回复

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

1803

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

9360
1803huangxiaojiao 回复

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

2562
1803huangxiaojiao 回复

解决啦,厉害

1803
9360shitou 回复

好哒

3165

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

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