网站建设运营合同,口碑营销案例,宣化网站制作公司,网站运营与管理的心得体会SoloX#xff1a;Android和iOS性能数据的实时采集工具 github地址#xff1a;https://github.com/smart-test-ti/SoloX
最新版本#xff1a;V2.7.6 一、SoloX简介
SoloX是开源的Android/iOS性能数据的实时采集工具#xff0c;目前主要功能特点#xff1a;
无需ROOT/越狱…SoloXAndroid和iOS性能数据的实时采集工具 github地址https://github.com/smart-test-ti/SoloX
最新版本V2.7.6 一、SoloX简介
SoloX是开源的Android/iOS性能数据的实时采集工具目前主要功能特点
无需ROOT/越狱 Android设备无需ROOTiOS设备无需越狱。高效解决Android iOS性能测试分析难题。数据完整性 可提供FPS、Jank、CPU、GPU、Memory、Battery 、Network等性能参数这些您都可以轻松获得。美观的报告看板: 可随时随地存储、可视化、编辑、管理和下载使用任何版本的SoloX收集的所有测试数据。好用的监控设置: 支持在监控过程中设置告警值、收集时长、访问其他PC机器的移动设备。比对模式: 支持两台移动设备同时对比测试。 2-devices: 使用两台不同的设备测试同一个app。2-apps: 使用两台配置相同的设备测试两个不同的app。API收集性能数据: 支持python、API收集性能数据帮助用户轻松集成在CI/CD流程。
二、环境要求
安装 Python 3.10 Download安装 adb和配置好环境变量 (SoloX自带的adb不一定适配你的电脑建议自己安装) Download Python 3.6 ~ 3.9 , 请安装solox版本低于2.5.4. 如果Windows用户需要测试iOS请先安装Itunes. 参考
三、安装部署
默认安装pip install -U solox (指定版本pip install solox版本)
指定镜像地址安装pip install -i Simple Index -U solox 如果网络无法通过 [pip install -U solox] 下载, 可以尝试使用镜像下载但是可能不是最新版本。 启动服务python -m solox 启动服务自定义IP地址和端口python -m solox --host{ip} --port{port}
启动服务后建议使用谷歌浏览器访问使用。
四、使用方法
1通过浏览器直接使用
使用python -m solox启动服务后将自动使用本机默认浏览器打开solox页面。 接入手机设备后可以在左上方选择设备、应用包名、进程名并点开始即可开始收集性能数据。本示例以京东读书为例。 开始收集数据中。 停止数据收集将自动跳转到报告页面可以查看分析报告、导出、编辑、删除报告。 查看分析报告可以另存为html、png文件。 2-devices: 使用两台不同的设备测试同一个app。 2-apps: 使用两台配置相同的设备测试两个不同的app。操作方法类似不再赘述。 但是貌似cpu、内存、网络没数据信息。 iOS设备操作使用方法同上。 2使用python收集
Android应用性能数据收集
from solox.public.apm import APMfrom solox.public.common import Devicesd Devices()pids d.getPid(deviceId9TM9K236030218xx, pkgNamecom.jd.app.reader) # for androidapm APM(pkgNamecom.jd.app.reader,platformAndroid, deviceId9TM9K236030218xx,surfaceviewTrue, noLogTrue, pidNone)# apm APM(pkgNamecom.bilibili.app.in, platformiOS) only supports one device# surfaceview False gfxinfo (手机开发者 - GPU渲染模式 - adb shell dumpsys gfxinfo)# noLog : False (为false时才会存储测试数据到log文件中)# ************* 收集单个性能指标 ************* #cpu apm.collectCpu() # %memory apm.collectMemory() # MBflow apm.collectFlow(wifiTrue) # KBfps apm.collectFps() # HZbattery apm.collectBattery() # level:% temperature:°C current:mA voltage:mV power:wgpu apm.collectGpu() # % only supports ios# ************* 收集全部的性能指标 ************* #apm APM(pkgNamecom.jd.app.reader,platformAndroid, deviceId9TM9K236030218xx,surfaceviewTrue, noLogFalse, pidNone, duration20, recordFalse) # duration : 秒 持续执行时间 record: 是否录屏只支持安卓# apm APM(pkgNamecom.bilibili.app.in.ios, platformiOS, deviceIdxxxx,noLogFalse, duration20)if __name__ __main__:apm.collectAll() # 会生成HTML报告
输出结果 iOS应用性能数据收集
rom solox.public.apm import APMfrom solox.public.common import Devicesd Devices()#only supports one deviceapm APM(pkgNamecom.jd.reader, platformiOS)# ************* 收集单个性能指标 ************* #cpu apm.collectCpu() # %memory apm.collectMemory() # MBflow apm.collectFlow(wifiTrue) # KBfps apm.collectFps() # HZbattery apm.collectBattery() # level:% temperature:°C current:mA voltage:mV power:wgpu apm.collectGpu() # % only supports ios# ************* 收集全部的性能指标 ************* #apm APM(pkgNamecom.jd.reader, platformiOS, deviceId00008020-000A6C220223002E,noLogFalse, duration20)if __name__ __main__:apm.collectAll() # 会生成HTML报告
输出结果 3使用API收集
后台启动服务
# solox version 2.1.5macOS/Linux: nohup python3 -m solox Windows: start /min python3 -m solox
通过api收集数据
Android: http://{ip}:{port}/apm/collect?platformAndroiddeviceidca6bd5a5pkgnamecom.bilibili.app.intargetcpuiOS: http://{ip}:{port}/apm/collect?platformiOSdeviceid00008020-000A6C22022300cccpkgnamecom.bilibili.app.intargetcputarget in [cpu,memory,network,fps,battery,gpu]
以获取安卓应用CPU和fps信息为例。
http://192.168.0.100:60000/apm/collect?platformAndroiddeviceid9TM9K23603021817pkgnamecom.jd.app.readertargetcpuhttp://192.168.0.100:60000/apm/collect?platformAndroiddeviceid9TM9K23603021817pkgnamecom.jd.app.readertargetfps
返回结果 以获取iOS应用CPU和fps信息为例。
http://192.168.0.100:60000/apm/collect?platformiOSdeviceid00008020-000A6C220223002Epkgnamecom.360buy.jdmobiletargetcpuhttp://192.168.0.100:60000/apm/collect?platformiOSdeviceid00008020-000A6C220223002Epkgnamecom.360buy.jdmobiletargetfps
返回结果