• Docker + Selenium 自动刷新Gitee静态页面

      之前在《Docker + Git 部署Hexo发布》中留了一个关于页面刷新的小坑,主要针对Gitee 静态页面(免费版)需手动刷新页面这一问题。那么在我们搭建好Selenium Docker环境之后就可以开始尝试利用爬虫完成页面的自动刷新了。

  • SIFT+KNN加持下的Android测试自动化脚本

      在之前的尝试(折腾)中 (参见《基于图像识别与位置关系的Android控件遍历方式》),我尝试基于简单的图像比对技术,做了一个没啥用的Android App测试自动化脚本。但是该脚本存在识别率低,耗时长等诸多问题。而用Airtest自带的图像比对功能又极易找错控件(可能是我使用姿势不对)。因此我在Github上搜寻了很久能快速完成图像比对的算法。虽然找了很多但是效果却不是特别好,要么超级复杂(完全不知道在干什么),要么耗时非常长(最长的能到10分钟),所幸在Github上搜索的时候了解到不少之前都不曾听过的算法,比如SIFT、SURF等等。行吧,还是自己正面刚吧。

  • Docker 搭建Selenium执行环境

      如果能用Docker搭建出一套Selenium执行环境,并部署在云端。当我们把脚本上传至云后,可以自动执行脚本(按需执行),而脚本执行结束后又能自动退出(不占用资源)。让我们小小的云能最大化利用起来,想想就很激动呢。

  • 自动遍历UI控件

    效果

      为了实现测试自动化这一“伪命题”,经过不懈的努力(折腾),终于基于Airtest(其实关联倒也没那么大)做出来有那么一点意思的自动化脚本。

  • 基于图像识别与位置关系的Android控件遍历方式

    背景

      在《基于图像识别的Android控件遍历》中描述了一种根据控件区域截图来遍历UI控件的方法,但是这种方法存在很大的缺陷,即无法准确区分相似度很大控件,如下图中的桌面壁纸、显示亮度与移动网络。
    设置界面

      要提高准确度就需要引入更多的判断条件。这里尝试引入位置关系,来辅助识别。

  • Docker + Git 部署Hexo发布

      现在各代码托管平台均提供了静态页面展示功能,可以利用其搭建自己的个人博客。而这样的好处有:

    1. 不用自建服务器
    2. 不用网络备案
    3. 文档归档管理
    4. 自主选择主题

      当然也有它的不足:

    1. 域名需按照特定的格式设置
    2. 有诸多限制(如需自行寻找图床搭配使用)

      不过总的来说作为个人博客基本够用了,关键是免费呢。

  • 基于图像识别的Android控件遍历

    背景

      在追求测试自动化的道路上,我想让脚本具有一定的自适应能力,能自主识别出可操作(可点击、可长按、可编辑)的控件,并能自主控制脚本运行逻辑(依据策略自适应)。
      能识别出可操作控件则是这一目标的第一步。Airtest使用的POCO具有获取控件属性的作用,同时Airtest封装Opencv用于图像识别。因此这是一个实现该目标较理想的平台。

    逻辑

      Android界面无论采用何种布局,都可以理解为是以图层的原理,逐层叠加出来的。所以利用POCO获取子节点的方法,从根节点开始依次遍历其所有子节点以及子节点的子节点(孙节点),并保留可操作(可点击、可长按、可编辑)的节点。如此即可获得想要的控件列表。