在本篇文章中,将给大家推荐 14 款日常工作中经常用到的测试开发工具神器,涵盖了自动化测试、APP 性能测试、稳定性测试、抓包工具等。
Github 地址
https://github.com/openatx/uiautomator2
介绍:
openatx 开源的 ui 自动化工具,支持 android 和 ios。主要面向的编程语言是 python,api 设计简洁易用,在开源社区也是很受欢迎。
原理图:
安装:
pip install --upgrade --pre uiautomator2
# Or you can install directly from github source
git clone https://github.com/openatx/uiautomator2
pip install -e uiautomator2
Github 地址:
https://github.com/appium/appium
介绍:
基于 Node.js 的一款非常成熟的 ui 自动化工具,支持多种语言开发,在测试圈非常流行,可以说是 ui 自动化领域的标杆产品。你不知道 appium,都不好意思说自己干测试这行。
原理图:
Github 地址:
https://github.com/pengchenglin/ATX-Test
介绍:
基于 uiautomator2 和 unittest 封装的一个 ui 自动化测试框架。
项目作者已经把框架设计、可配置化、底层设备连接、日志模块、报告模块都做好了,使用者只需要编写 PageObject 和脚本逻辑即可,大大提高了 uiautomator2 的易用性。不仅如此,该项目现在还支持 monkey 运行。
Github 地址:
https://github.com/AirtestProject/Airtest
介绍:
网易开源的一个 ui 自动化测试工具,通过图像识别和 UI 控件检索技术,使得游戏测试简单快捷。支持 Android、iOS、Windows、Unity、Cocos2dx、白鹭引擎、微信小程序,上手简单,游戏测试的朋友可以体验体验。
Github 地址:
https://github.com/openatx/atxserver2
介绍:
支持 Android 和 iOS 的移动设备管理平台。可以通过 web 界面,察看测试手机的状态,可以做到远程操控手机,对于测试兼容性具有较大帮助。部署方便,支持 docker-compose 部署。
Github 地址:
https://github.com/openstf/stf
介绍:
远程移动设备管理平台,支持 Android、iOS 真机管理,功能非常强大。
官网地址:
https://www.appetizer.io/cn/
介绍:
使用十分方便。可以进行 ui 自动化测试,也可以支持 app 稳定性测试,提供 GUI 界面操作,易用性极强,满足日常 ui 自动化需要。可惜只有部分组件开源。
Github 地址
https://github.com/lgxqf/UICrawler
介绍:
基于 Appium 的 App UI 遍历 & Monkey 工具,支持 iOS 和 Android
Github 地址
https://github.com/zhangzhao4444/Maxim
介绍:
号称是智能 monkey,用过的人都觉得真香。支持原生 monkey、遍历控件、黑白名单等功能,而且也封装了更加易解析的日志文件。有了它之后,已经可以不需要再用原生 monkey 了。
Github 地址
https://github.com/seveniruby/AppCrawler
介绍:
一个基于自动遍历的 app 爬虫工具. 支持 android 和 iOS, 支持真机和模拟器. 最大的特点是灵活性. 可通过配置来设定遍历的规则。
Github 地址
https://github.com/alipay/SoloPi
介绍:
SoloPi 是一个无线化、非侵入式的 Android 自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间(官方介绍)。一般用于 APP 的性能测试比较多。
Github 地址
https://github.com/Tencent/GT
介绍:
腾讯开源的 APP 的随身调试平台,可对 APP 进行快速的性能测试 (CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash 日志查看、网络数据包的抓取、APP 内部参数的调试、真机代码耗时统计等。
利用 GT,仅凭一部手机,无需连接电脑,即可对 APP 进行快速的性能测试 (CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash 日志查看、网络数据包的抓取、APP 内部参数的调试、真机代码耗时统计等。如果您觉得 GT 提供的功能还不够满足您的需要,您还可以利用 GT 提供的基础 API 自行开发有特殊功能的 GT 插件,帮助您解决更加复杂的 APP 调试问题。
GT 支持 iOS 和 Android 两个手机平台,其中:
iOS 版是一个 Framework 包,必须嵌入 APP 工程,编译出带 GT 的 APP 才能使用;iPhone 和 iPad 应用都能支持。
Android 版由一个可直接安装的 GT 控制台 APP 和 GT SDK 组成,GT 控制台可以独立安装使用,SDK 需嵌入被调测的应用、并利用 GT 控制台进行信息展示和参数修改。
Github 地址
https://github.com/alibaba/anyproxy
介绍:
阿里开源的抓包工具,基于 Node.js 可进行二次开发,使用场景:app 爬虫、接口数据分析等。
Github 地址
https://github.com/mitmproxy/mitmproxy
介绍:
基于 Python 的抓包工具,对于 pythoner 更加友好,主要作用是对抓包数据进行采集供后续分析。