zoukankan      html  css  js  c++  java
  • 为什么你的“点击”不生效?!

    前言

    今天跟同学们来聊一聊点击不生效这个问题,经常听到答疑群里面有同学说:为什么我的代码执行了,但实际上没有发生点击的动作呢?又或是,为什么我用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官网https://airtest.netease.com/
    Airtest教程官网https://airtest.doc.io.netease.com/
    搭建企业私有云服务https://airlab.163.com/b2b

    官方答疑 Q 群:654700783

    呀,这么认真都看到这里啦,帮忙点个推荐支持一下呗,灰常感谢~

  • 相关阅读:
    NSIS打包electron程序为exe安装包
    3、electron打包生成exe文件
    7、Shiro加密和加盐
    6、Shiro之自定义realm
    5、Shiro之jdbcRealm认证授权
    Jmeter-提取Json数据进行关联
    CentOS7 adb
    centos 7 安装pip和pip3
    最新Centos7安装python3并与python2共存
    centos7安装chrome浏览器
  • 原文地址:https://www.cnblogs.com/AirtestProject/p/15006711.html
Copyright © 2011-2022 走看看