在本篇文章中,將給大家推薦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更加友好,主要作用是對抓包資料進行採集供後續分析。