在本篇文章中,将给大家推荐14款日常工作中经常用到的测试开发工具神器,涵盖了自动化测试、APP性能测试、稳定性测试、抓包工具等。
一、UI自动化测试工具
1. uiautomator2
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
2. Appium
Github地址:
https://github.com/appium/appium
介绍:
基于Node.js的一款非常成熟的ui自动化工具,支持多种语言开发,在测试圈非常流行,可以说是ui自动化领域的标杆产品。你不知道appium,都不好意思说自己干测试这行。
原理图:
3. ATX-Test
Github地址:
https://github.com/pengchenglin/ATX-Test
介绍:
基于uiautomator2和unittest封装的一个ui自动化测试框架。
项目作者已经把框架设计、可配置化、底层设备连接、日志模块、报告模块都做好了,使用者只需要编写PageObject和脚本逻辑即可,大大提高了uiautomator2的易用性。不仅如此,该项目现在还支持monkey运行。
4. Airtest
Github地址:
https://github.com/AirtestProject/Airtest
介绍:
网易开源的一个ui自动化测试工具,通过图像识别和UI控件检索技术,使得游戏测试简单快捷。支持Android、iOS、Windows、Unity、Cocos2dx、白鹭引擎、微信小程序,上手简单,游戏测试的朋友可以体验体验。
5. ATXServer2
Github地址:
https://github.com/openatx/atxserver2
介绍:
支持Android和iOS的移动设备管理平台。可以通过web界面,察看测试手机的状态,可以做到远程操控手机,对于测试兼容性具有较大帮助。部署方便,支持docker-compose部署。
6. STF
Github地址:
https://github.com/openstf/stf
介绍:
远程移动设备管理平台,支持Android、iOS真机管理,功能非常强大。
7. Appetizer
官网地址:
https://www.appetizer.io/cn/
介绍:
使用十分方便。可以进行ui自动化测试,也可以支持app稳定性测试,提供GUI界面操作,易用性极强,满足日常ui自动化需要。可惜只有部分组件开源。
二、APP稳定性测试工具
8. UICrawler
Github地址
https://github.com/lgxqf/UICrawler
介绍:
基于Appium的App UI遍历 & Monkey 工具,支持iOS和Android
9. Maxim
Github地址
https://github.com/zhangzhao4444/Maxim
介绍:
号称是智能monkey,用过的人都觉得真香。支持原生monkey、遍历控件、黑白名单等功能,而且也封装了更加易解析的日志文件。有了它之后,已经可以不需要再用原生monkey了。
10. AppCrawler
Github地址
https://github.com/seveniruby/AppCrawler
介绍:
一个基于自动遍历的app爬虫工具. 支持android和iOS, 支持真机和模拟器. 最大的特点是灵活性. 可通过配置来设定遍历的规则。
三、APP性能测试工具
11. SoloPi
Github地址
https://github.com/alipay/SoloPi
介绍:
SoloPi是一个无线化、非侵入式的Android自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间(官方介绍)。一般用于APP的性能测试比较多。
12. GT
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 控制台进行信息展示和参数修改。
四、抓包工具
13. AnyProxy
Github地址
https://github.com/alibaba/anyproxy
介绍:
阿里开源的抓包工具,基于Node.js可进行二次开发,使用场景:app爬虫、接口数据分析等。
14. mitmproxy
Github地址
https://github.com/mitmproxy/mitmproxy
介绍:
基于Python的抓包工具,对于pythoner更加友好,主要作用是对抓包数据进行采集供后续分析。