AutomatorX - 手机游戏测试


MIT
跨平台
Python

软件简介

该项目是为了让手机应用的一些常规测试可以自动化起来,让测试人员摆脱那些枯燥的重复性工作。
基于OpenCV的图像识别技术,有点类似于SikuliX(这东西挺好用的,只是没说要支持手机端)

这个项目诞生在网易游戏频繁的测试中,所以这个项目主要是为了支持游戏的测试。

atx是AutomatorX的简称,目前是作为一个python库使用,安装方法也超级简单

pip install atx

安装完这个之后,再安装python-opencv就完成了最终的安装。

有了它,平常枯燥的刷副本,主线任务,就不再这么头疼了。

特征

  • 完全的黑盒测试框架,无需知道项目代码,非侵入式

  • 可是很好的支持安卓手机的测试,包括安卓模拟器

  • 支持Windows应用的测试

  • 对于游戏测试,可以使用图像缩放的方法适应不同分辨率的手机

历史起源

以前写过一个项目 https://github.com/netease/airtest,atx是airtest的重构版本,。
因为原版代码冗余太严重,维护成本太高,所以就新开了一个新的项目。

新版有哪些新的功能呢?

与原版主要变化

  • 简化安装方式,只需要安装opencv以及通过pip安装atx 无其他依赖

  • 支持原生UI元素的查找和点击

  • 截图方式重原有缓慢的adb截图,改成默认uiautomator截图,可选minicap截图(1080x1920手机截图平均耗时0.2s)

  • 优化图像的自动缩放算法,以便同样的脚本可以适应不同的机器

  • 支持Watch用法,可持续监控界面,当某个元素出现时执行特定操作

  • 截图客户端从网页服务器变成了python-Tkinter写的客户端 使用python -matx gui启动

  • 支持dir(dev) 查看元素已有的方法(-_-! 之前代码写的不好,并不支持)

  • 更稳定的依赖库控制,与travis持续集成,可在代码更新后自动发布到pypi

  • 移除性能监控功能,暂时移除iOS支持

  • 图像匹配默认使用模版匹配,将SIFT匹配改为可选