推荐一款仿Perfdog免费的Android/iOS性能测试工具-SoloX

SoloX - Android/iOS 性能数据实时收集工具

我们致力于解决低效、繁琐的测试执行,我们的目标是 Simple Test In SoloX!

源码:https://github.com/smart-test-ti/SoloX

(有问题尽量去github提,或者微信搜索“测试开发PLUS”公众号)

一、功能简介

  • 无需ROOT/越狱: Android设备无需ROOT,iOS设备无需越狱。高效解决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 -i  https://mirrors.ustc.edu.cn/pypi/web/simple -U solox (国内网络可以通过镜像安装)

四、启动

python -m solox (默认)

python -m solox --host={ip} --port={port} (自定义)

五、使用python收集


# solox version : >= 2.8.5
from solox.public.apm import AppPerformanceMonitor
from solox.public.common import Devices

d = Devices()
processList = d.getPid(deviceId='ca6bd5a5', pkgName='com.bilibili.app.in') # for android
print(processList) # ['{pid}:{packagename}',...],一个app可能会有多个进程,如果需要指定pid,可以从这里获取

apm = AppPerformanceMonitor(pkgName='com.bilibili.app.in',platform='Android', deviceId='ca6bd5a5', surfaceview=True, 
                            noLog=False, pid=None, record=False, collect_all=False)
# apm = AppPerformanceMonitor(pkgName='com.bilibili.app.in', platform='iOS')
# surfaceview: 为False时是使用gfxinfo方式,需要在手机上设置:(手机开发者 - GPU渲染模式 - adb shell dumpsys gfxinfo)
# noLog : False (保存测试数据到log文件中)

# ************* 收集单个性能参数 ************* #
cpu = apm.collectCpu() # %
memory = apm.collectMemory() # MB
memory_detail = apm.collectMemoryDetail() # MB
network = apm.collectNetwork(wifi=True) # KB , wifi=False时是收集移动网络,手机要切换数据流量
fps = apm.collectFps() # HZ
battery = apm.collectBattery() # level:% temperature:°C current:mA voltage:mV power:w
gpu = apm.collectGpu() # % 只支持ios

# ************* 收集所有性能参数 ************* #
 
if __name__ == '__main__':  #必须要在__name__ == '__main__'里面执行
  apm = AppPerformanceMonitor(pkgName='com.bilibili.app.in',platform='Android', deviceId='ca6bd5a5', surfaceview=True, 
                              noLog=False, pid=None, record=False, collect_all=True, duration=0)
  # apm = AppPerformanceMonitor(pkgName='com.bilibili.app.in', platform='iOS',  deviceId='xxxx', noLog=False, record=False, collect_all=True, duration=0)
  #duration: 执行时长(秒),只有>0的时候才生效,=0时会持续执行
  #record: 是否录制
  apm.collectAll() # 结束会生成测试报告

# 在另外的python脚本中可以主动终止solox服务,无需等待设置的执行时长结束
from solox.public.apm import initPerformanceService  

initPerformanceService.stop()
  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值