此文章来源于项目官方公众号:“AirtestProject”
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

前言

今天跟同学们来聊一聊点击不生效这个问题,经常听到答疑群里面有同学说:为什么我的代码执行了,但实际上没有发生点击的动作呢?又或是,为什么我用IDE连接上了设备,却不能点击手机画面呢?

下面我们就来看下,当同学们遇到各种“点击不生效”的情况时,究竟该如何排查。

“点击不生效”的排查办法

1. 检查是否使用了最新版本

① 使用AirtestIDE自带的环境

查看当前IDE的选项–设置里面,是否自定义了python.exe的路径,如未设置,则只需要检查当前的AirtestIDE是否为最新版本即可,不是最新版本的话,先将其更新到最新版本:

② 使用了本地python环境

如自定义了python.exe的路径,则表示当前未使用AirtestIDE自带的环境,而是使用了自定义的本地python环境,则需要检查自定义python环境里面的airtest库是否为最新版本,如不是最新,也请把airtest库更新到最新版。

我们可以在命令行运行 pip list 查看(如本地存在多个python环境,则需要特别注意区分自己使用的是哪个):

命令行运行或者其它python编辑器运行的情况同理,需要检查当前运行环境里面装的airtest库是否为最新版。

2. 尝试在IDE里面看看能否点击手机画面

① 能点击

则排除手机设置的问题。

② 不能点击

特别注意部分品牌手机需要开启“允许模拟点击位置”此类的选项,详情可查看官方文档:https://airtest.doc.io.netease.com/IDEdocs/device_connection/2_android_faq/#2 。

3. 单独写一个脚本,只运行点击不生效的那条语句,运行后生成报告

这里是使用最小可复现脚本的办法,排除其它代码的干扰,能更快速定位到问题:

① log查看窗出现了报错

如出现类似 Picture xxx not found in the screen 的报错,则表明截图识别失败了,我们需要重新截图;比如说截取特征更加明显的截图,减少混入多余的背景等等,关于如何提高截图脚本的兼容性,我们也在之前的推文 “写了10000条Airtest截图脚本总结出来的截图经验,赶紧收藏!” 有详细介绍,有需要的同学可以直接前往阅读。

如出现类似 PocoNoSuchNodeException: Cannot find any visible node by xxx 的报错,则表明查找控件失败,需要检查控件的定位方式是否正确,当前页面是否存在此控件等。

② 没报错,但查看报告发现点到了错误的位置

多出现于截图脚本:

一种情况是,当前页面存在多个相同的截图,实际运行时没有点击到你的真实目标上面,此时可以通过局部识图、或者调整截图的 target_pos来辅助你定位到你的真实目标上面。

另外一种情况是,识别到了毫不相干的错误的目标上,有可能是图像阙值比较低,混入了错误的结果,可以尝试调整阙值过滤错误的结果。

③ 没报错,但查看报告发现点击出现了一定的位置偏移

常出现于Poco控件点击脚本中:

首先我们可以借助IDE辅助窗的检索控件功能,把鼠标移动到对应的控件上面,看看锁定控件的框框是否出现了偏移,如出现了偏移,我们可以通过一些偏移修正,或者去掉手机的虚拟按键栏来解决,详见我们的官方教程文档: https://airtest.doc.io.netease.com/IDEdocs/device_connection/2_android_faq/#_9 。

④ 查看报告发现画面未加载完毕就进行了点击

当画面未加载完全或者不够稳定的情况下,我们立即进行了点击操作,很可能出现点击操作确实执行了,但应用没能响应这个点击的情况。

此时我们可以在点击之前添加足够时长的 sleep() 以保证我们的应用稳定后再进行后续的点击操作。

小结

最后,我们提供了“点击不生效”的自检流程图,有需要的同学可以保存下来自查哦!


Airtest 官网:http://airtest.netease.com/
Airtest 教程官网:https://airtest.doc.io.netease.com/
搭建企业私有云服务:https://airlab.163.com/b2b

官方答疑 Q 群:654700783

呀,这么认真都看到这里啦,帮忙点个赞或者收藏支持下我把,灰常感谢~

为什么你的“点击”不生效?!相关推荐

  1. 前端 优化 json stringify 在IE浏览器的兼容性 按钮点击不生效

    这是一个系列,记录我前端开发常用的代码,小常识,有些是参考网上代码,(讲的可能有点烂,求不要打脸,嘤嘤嘤~~)送给那些需要的人.可以相互交流,喜欢的加我吧. Wx: Lxp911221 项目:后端管理 ...

  2. Selenium一些特殊情况的处理:失去焦点、点击不生效、长页面处理、先触发事件才能动态加载的元素、日期输入

    Selenium一些特殊情况的处理 失去焦点focus 有时候click()或者send_keys(),没有反应.那是因为失去了焦点.使用driver. switch_to_active_elemen ...

  3. uView2.0 u-index-list 添加#点击不生效

    在uview官网,本人pr之后u-index-list可以接收unicode字符,不在需要使用如下的修改了,可以直接使用了 uview在更新的版本2.0.10,接受了我的pr(pull request ...

  4. [JavaScript]搜索框中文/英文/拼音匹配过滤逻辑/input的focus和下拉框的click冲突解决/点击条目后focus二次点击不生效问题解决

    效果图 思路: 输入框的逻辑: 要监控input的输入,根据框架自己选择绑定事件 要有focus和blur的方法,input的focus和下拉框的click冲突的话应该用mousedown 展开下拉框 ...

  5. 微信小程序之初探(常见语法 VS vue)常见问题(点击不生效,数据绑定)

    最近在调研微信小程序开发,对于一个前端小白来说,在各种框架都还用不熟的情况下,再来开发小程序确实还是不容易. 小程序出来之初,听过演讲,看过一点点儿视频,感觉和angular语法有点相似(PS:那是也 ...

  6. 微信input组件添加清除图标,点击清空不生效

    微信小程序中使用input组件,点击上面的清空图标不生效问题 问题原因:在真机调试中,因为微信小程序中input组件的层级在聚焦时会最高,会覆盖清空图标,所以点击不生效,在pc开发者工具中是不存在问题 ...

  7. python3.7游戏_python3.7自动点击脚本点击游戏窗口内游戏道具不生效

    我用python3.7的pyautogui编写了一个自动点击的脚本,准备用于点击游戏中的两个道具和一个按钮进行物品合成. 脚本能编写完成后,在桌面进行测试,能开关文件夹. 打开游戏后,发现点击脚本正常 ...

  8. android 字体点击变色,Android TextView 中实现部分文字变色以及点击事件

    首先要想实现文字变色以及点击,都需要使用到SpannableStringBuilder,实例化该类也很简单,只需将你想要处理的字符串当做参数 SpannableStringBuilder spanna ...

  9. textview文字链接无法点击

    这里写自定义目录标题 照着demo写的,文字点击不生效,闪退 demo源文链接:https://blog.csdn.net/zhongfangguiyishi/article/details/1047 ...

最新文章

  1. C++——《算法分析与设计》实验报告——箱子装载问题
  2. 自制Ghost XP SP3 启动光盘(二)
  3. ASP.NET WEBAPI设计(文摘)
  4. python如何获取文件的行号_Python当我捕获异常时,如何获取类型,文件和行号?...
  5. 断供后,英特尔再宣布暂停在俄罗斯业务,立即生效
  6. 最大似然估计(MLE)的一些公式与定理(python实践)
  7. 织梦错误mynews.lib.php on line 40,织梦错误Fatal error: Using $this when not in object context...
  8. VB连接数据库SQL sever
  9. python中not是什么意思_python中的not具体使用及意思
  10. 厉害了,又一个资源神器
  11. Flutter-解决Try catch出现异常:type ‘_TypeError‘ is not a subtype of type ‘Exception‘ in type cast
  12. Window 10 电源高性能模式设置
  13. 关于Linux LOOPBACK网口抓包的一个细节
  14. jenkins构建失败后将信息发送到企业微信
  15. Josh 的学习笔记之数字通信(Part 4——带通调制和解调)
  16. 论文笔记-Person Re-identification Past, Present and Future
  17. html 模拟百度和模拟360
  18. 组合和聚合举例说明_聚合与组合的区别
  19. ActiveX控件在IE浏览器中自动下载
  20. java dbms_用Java实现一个简单的DBMS(总结)

热门文章

  1. 简单的足球胜平负概率计算游戏
  2. 黑莓key2常用软件测试,黑莓KEY2深度评测:兼顾安全与办公效率的商务机回来了...
  3. 公司绝不会告诉你的10个秘密
  4. linux禁用内存,Linux系统发明人抨击英特尔禁用ECC内存的政策
  5. Nervos 的架构师的视角看Nervos的过去、现在和未来
  6. 网站服务器高主频还是多核心,高主频还是多核心?实测揭晓高主频为何对游戏性能更有价值...
  7. 获得任意风格的图片效果?深度学习算法一键P图!
  8. 第三章:MATLAB的基础知识(基本符号,数据类型,运算符,复数运算,三角函数运算)
  9. java 多线程列子_java 多线程例子
  10. 关于解决安装ubuntu双系统中出现的不能识别磁盘分区、空闲空间变不可用问题