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

这篇具有很好参考价值的文章主要介绍了SoloX - Android/iOS性能数据实时采集工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、简介

  SoloX是一个可以实时收集Android/iOS性能数据的web工具。 快速定位分析性能问题,提升应用的性能和品质。 无需ROOT/越狱,即插即用。
solox 安装,日常测试,android,ios,性能优化

主要特点:

  • 无需ROOT/越狱: Android设备无需Root,iOS设备无需越狱。有效解决Android和iOS性能的测试和分析挑战。
  • 数据完整性:我们提供CPU、GPU、内存、电池、网络、FPS、卡顿等数据,您可以轻松获取。
  • 精美报告:精美详细的报告分析,无论您身在何处或何时,都可以在何处存储、可视化、编辑、管理和下载使用 SoloX 收集的所有测试用例。
  • 实用的监控设置:监控过程中支持设置报警值、采集时长、在其他PC机上访问移动设备。
  • PK模型:支持两台移动设备同时对比测试。
    🌱2 设备:在两部不同的手机上测试同一个应用程序。
    🌱2-apps:在具有相同配置的两部手机上测试两个不同的应用程序。
  • 数据收集:支持Python和API收集性能数据,帮助用户轻松集成到自动化测试流程中。

github地址:https://github.com/smart-test-ti/SoloX?tab=readme-ov-file

二、环境要求

  • 安装Python 3.10 + Download
  • 安装adb并配置环境变量(SoloX的adb不一定适合你的电脑)Download

💡 Python 3.6 ~ 3.9,请下载低于2.5.4的solox版本。
💡如果Windows用户需要测试ios,请安装并启动Itunes。Documentation

三、安装部署

默认安装:

pip install -U solox    (指定版本:pip install solox=={version})

镜像安装:

pip install -i  https://mirrors.ustc.edu.cn/pypi/web/simple -U solox

💡 如果您的网络无法通过pip install -U solox下载,请尝试使用镜像下载,但下载的SoloX可能不是最新版本。
solox 安装,日常测试,android,ios,性能优化
启动服务:python -m solox
solox 安装,日常测试,android,ios,性能优化
启动服务自定义IP地址和端口:python -m solox --host={ip} --port={port}

浏览器建议:谷歌

终端:

  • 窗口:PowerShell
  • macOS:iTerm2 (https://iterm2.com/)

四、使用方法

4.1 通过浏览器直接使用

(1)单设备收集
使用python -m solox启动服务后,将自动使用本机默认浏览器打开solox页面。
solox 安装,日常测试,android,ios,性能优化
接入手机设备后,可以在左上方选择设备、应用包名、进程名,并点开始即可开始收集性能数据。本示例以快看漫画为例。
solox 安装,日常测试,android,ios,性能优化
开始收集数据:
solox 安装,日常测试,android,ios,性能优化
停止数据收集,将自动跳转到报告页面,可以查看分析报告、导出、编辑、删除报告。
solox 安装,日常测试,android,ios,性能优化
查看分析报告,可以另存为png文件。
solox 安装,日常测试,android,ios,性能优化
(2)2-devices: 使用两台不同的设备测试同一个app(需切换到PK Model)
solox 安装,日常测试,android,ios,性能优化
(3)2-apps: 使用两台配置相同的设备测试两个不同的app。操作方法类似,不再赘述。
(4)iOS操作方法同上

4.2 使用Python收集

from solox.public.apm import APM
# version : >= 2.8.5,由于本地Python是3.9的,不想重新装一个3.10,所以用的低版本SoloX
# from solox.public.apm import AppPerformanceMonitor
from solox.public.common import Devices

d = Devices()

processList = d.getPid(deviceId='172.16.135.133:5555', pkgName='com.kuaikan.comic')  # for android
print(processList)

apm = APM(pkgName='com.kuaikan.comic', platform='Android', deviceId='172.16.135.133:5555', surfaceview=True)

# apm = APM(pkgName='com.bilibili.app.in', platform='iOS') only supports one device

# surfaceview: False = gfxinfo (手机开发者 - GPU渲染模式 - adb shell dumpsys gfxinfo)

# noLog : False (为false时才会存储测试数据到log文件中)


# ************* 收集单个性能指标 ************* #

cpu = apm.collectCpu()  # %

memory = apm.collectMemory()  # MB

flow = apm.collectFlow()  # KB

fps = apm.collectFps()  # HZ

battery = apm.collectBattery()  # level:% temperature:°C current:mA voltage:mV power:w

# gpu = apm.collectGpu()  # % only supports ios

# ************* 收集全部的性能指标 ************* #

# if __name__ == '__main__':
#
#     apm = APM(pkgName='com.kuaikan.comic', platform='Android', deviceId='172.16.135.133:5555', surfaceview=True)  # duration : 秒 (持续执行时间) record: 是否录屏(只支持安卓)
#     # apm = APM(pkgName='com.bilibili.app.in.ios', platform='iOS',  deviceId='xxxx',noLog=False, duration=20)
#
#     apm.collectAll()  # 会生成HTML报告

输出结果:
solox 安装,日常测试,android,ios,性能优化

4.3 使用API收集

在后台启动服务:

# solox version >= 2.1.5

macOS/Linux: nohup python3 -m solox &
Windows: start /min python3 -m solox &

向api请求apm数据:文章来源地址https://www.toymoban.com/news/detail-847181.html

Android: http://{ip}:{port}/apm/collect?platform=Android&deviceid=ca6bd5a5&pkgname=com.bilibili.app.in&target=cpu
iOS: http://{ip}:{port}/apm/collect?platform=iOS&pkgname=com.bilibili.app.in&target=cpu

target in ['cpu','memory','memory_detail','network','fps','battery','gpu']

到了这里,关于SoloX - Android/iOS性能数据实时采集工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • iOS性能指标和性能测试工具

    作为一名软件测试工程师,在测试 iOS 应用的性能时,需要关注以下几个方面: 1. 响应时间:应用的启动时间、页面加载速度、接口响应时间等。 2. CPU 使用率:应用在各种操作下的 CPU 占用情况。 3. 内存使用:应用在各种操作下的内存占用情况。 4. 网络性能:应用在各种

    2024年02月13日
    浏览(54)
  • PC端性能测试自动化工具技术方案【采集脚本篇】

    ● 需求背景 PC端应用程序在每一个版本的迭代过程中,由于各版本的功能改动较多,为了避免在发布新版本时性能不会出现“大跳水”的情况,需要针对每一个版本进行性能测试。由于人工手动测试所需时间较长,且存在参数不准确、时间不可控等问题,所以需要针对PC 端开

    2024年02月06日
    浏览(43)
  • hdfs元数据实时采集

    一、背景及问题 0.Hdfs元数据管理   1.背景介绍 当前在数据资产管理平台上,需要展示每张hive表及分区的热力情况(文件数、存储量、更新时间等信息)。目前热力数据包含两部分内容:热力元数据和审计日志,其中审计日志可以直接消费kafka得到,而热力元数据暂时没有可以直

    2024年02月09日
    浏览(38)
  • nvitop: 史上最强GPU性能实时监测工具

    原文链接:https://mp.weixin.qq.com/s/SlOJZmF08v3-6o6rXWIHaQ Code: https://github.com/XuehaiPan/nvitop 相信大家在用NVIDIA-GPU训练网络模型的时候,都会习惯性的在终端nvidia-smi一下吧?最直接的目的是为了查看哪些卡正在使用,哪些卡处在空闲,然后挑选空闲的卡号进行网络训练。 「了解哪块卡

    2024年02月08日
    浏览(38)
  • 水库安全监测方案(实时数据采集、高速数据传输)

    ​ 一、引言 水库的安全监测对于防止水灾和保障人民生命财产安全至关重要。为了提高水库安全监测的效率和准确性,本文将介绍一种使用星创易联DTU200和SG800 5g工业路由器部署的水库安全监测方案。 二、方案概述 本方案主要通过使用星创易联DTU200和SG800 5g工业路由器实现

    2024年02月08日
    浏览(50)
  • Flink 实时数仓 (一) --------- 数据采集层

    1. 普通实时计算与实时数仓比较 普通的实时计算优先考虑时效性,所以从数据源采集经过实时计算直接得到结果。如此做时效性更好,但是弊端是由于计算过程中的中间结果没有沉淀下来,所以当面对大量实时需求的时候,计算的复用性较差,开发成本随着需求增加直线上升

    2024年02月06日
    浏览(47)
  • Fio工具详解【强大的IO性能压测工具】

    [time] runtime=time ​ 告诉fio在指定的时间段后终止处理。很难确定指定作业将运行多长时间,因此此参数可以方便的将总运行时间限制为给定时间。当省略单位时间,该数值以秒为单位进行解释。 time_based ​ 如果设置,即使文件被完全读取或写入,fio也将在指定的运行期间运行

    2024年02月01日
    浏览(40)
  • 定时音频数据采集并发送websocket实时播放

    一 定时音频数据采集并发送websocket实时播放 Recorder.js

    2024年02月02日
    浏览(43)
  • Sqoop与Flume的集成:实时数据采集

    将Sqoop与Flume集成是实现实时数据采集和传输的重要步骤之一。Sqoop用于将数据从关系型数据库导入到Hadoop生态系统中,而Flume用于数据流的实时采集、传输和处理。本文将深入探讨如何使用Sqoop与Flume集成,提供详细的步骤、示例代码和最佳实践,以确保能够成功实现实时数据

    2024年01月23日
    浏览(51)
  • Kafka数据流的实时采集与统计机制

    随着大数据时代的到来,实时数据处理成为了众多企业和组织的关注焦点。为了满足这一需求,Apache Kafka成为了一个广泛采用的分布式流处理平台。Kafka以其高吞吐量、可扩展性和容错性而闻名,被广泛应用于日志收集、事件驱动架构和实时分析等场景。 在本文中,我们将探

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包