這是一款iOS性能監控工具,支持Mac以及Windows端運行,電腦通過USB連接手機後運行腳本即可。
當前支持獲取的性能數據包括GPU、CPU、內存、FPS、功耗、網絡、溫度,以及一系列手機硬件數據,並將根據需求繼續新增。
本項目基於jlintxia開源的iOS測試方案修改而來,增加動態建表,動態增加grafana面板以及docker打包環境等特性。其中iOS性能數據來源於開源工具tidevice和py-ios-device。
注意:本項目依賴MySQL進行性能數據存儲,Grafana進行數據動態展示,也就是說需要在本機或者可達的網絡(比如公司局域網) 上搭建MySQL+Grafana服務,我提供了一份docker-compose.yml文件,可以使用docker快速搭建一套環境。
服務端搭建依賴docker以及docker-compose,安裝指南:
運行測試依賴python3環境,安裝指南:
cmd執行
docker -v && docker-compose -v
如果能正常輸出版本,如下,則表示docker環境正常,可以繼續
Docker version 20.10.8, build 3967b7d
docker-compose version 1.29.2, build 5becea4c
拉取鏡像並啟動服務:
docker-compose up -d
**提示:初次打開Grafana時,系統會提示你修改密碼,為了方便建議不修改,即保持賬號密碼均為admin,否則在python運行指令中將要進行對應的傳參。 **
CMD執行
pip install -r requirements.txt
命令行執行:
python run.py --udid=00008110-001A4D483CF2801E \
--bundleid=com.apple.Preferences \
--grafana_host=localhost \
--grafana_port=30000 \
--grafana_user=admin \
--grafana_password=admin \
--mysql_host=localhost \
--mysql_port=33306 \
--mysql_username=root \
--mysql_password=admin \
--mysql_db=iOSPerformance
- --bundleid:待測APP的包名,通過
ideviceinstaller -l獲取,默認值為com.apple.Preferences- --udid:iPhone手機的唯一標識符,通過
idevice_id -l獲取,客戶端只連接一台手機時不用寫
- --grafana_host:Grafana的主機地址,只寫ip,不用寫Scheme,也就是
http://或者https//,默認值localhost- --grafana_port:Grafana的端口號,默認值30000
- --grafana_user:Grafana的用戶名,默認值admin
- --grafana_password:Grafana的密碼,默認值admin
- --mysql_host:MySQL的主機地址,不用寫Scheme,也就是
http://或者https//,默認值localhost- --mysql_port:MySQL的端口號,默認值33306
- --mysql_user:MySQL的用戶名,默認值root
- --mysql_password:MySQL的密碼,默認值admin
命令執行:
python mysql.py --runid=iphone6_1008_1532 \
--mysql_host=localhost \
--mysql_port=33306 \
--mysql_username=root \
--mysql_password=admin \
--mysql_db=iOSPerformance其中,--runid為必須參數,可以從顯示測試數據的Grafana頁面的左上角找到,通常為手機名稱+月日+時分。其餘Mysql參數均為可選參數,默認值與上方MySQL參數相同。
