演示地址: http://112.126.75.188/
源码地址: https://github.com/1033866383/perf-orange-cat
免安装二进制包: https://github.com/1033866383/perf-orange-cat/releases
安装: pip install -U performancetest
启动: python -m performancetest.web.main
启动后访问:http://localhost/ 即可开始Android/IOS性能测试
API文档访问: http://localhost/redoc/
环境要求: python3.9+,如果Python版本有问题可以考虑使用 pyenv 进行环境隔离。
请注意本项目的开源协议。
计划功能:
- 增加对Windows、macOS、Linux等PC平台上应用的性能测试支持。
- 增加性能测试任务的对比功能。
- 添加标签功能,用于选择性能测试场景。
- 开发分支:dev
- 替代perfdog等客户端性能测试工具。
- 支持Android/IOS平台上应用的性能数据测试,包括游戏和视频类应用。
- 支持多种性能指标,包括CPU、内存、FPS、GPU、温度、电量、流量等。
- 提供详细的CPU性能数据,包括Top版CPU、Procstat版应用CPU和Procstat版系统CPU。
- 在FPS指标中包括卡顿(jank)、强卡顿(big jank)等指标。
- 提供准确的性能数据,与perfdog一致。
- 可以实时记录设备画面,并支持点击跳转到对应的场景。
- 支持局域网内使用,允许在整个局域网上进行性能测试。
- 提供可执行文件,方便部署,同时提供API详情。
performancetest/web/test_result/
:包含前端页面和测试结果。log.log
:项目运行日志。task.sqlite
:SQLite数据库,包含每个任务的基本详情,也是唯一的DAO对象。
Android 多类型CPU,流量新功能演示:
建议使用以下步骤安装和启动 Perf-Orange-Cat:
- 安装 Perf-Orange-Cat:
pip install -U performancetest
- 启动 Perf-Orange-Cat:
python -m performancetest.web.main
,此时项目已经启动了。
默认页面:
- 点击上方红色按钮,创建新的性能测试任务。此时会开始自动检测你电脑上连接到Android/Ios设备。
需要注意的点:
- Android设备需要打开开发者模式,部分设备可能需要选择传输模式为传输文件!
- IOS设备IOS系统16版本以上需要在设备上打开开发者选择,在隐私与安全中如下图。设备上如果看不到这个选项可用下载icarefone打开开发者模式。IOS16版本以下的需要连接xcode打开开发者选项。实际上连接一下选中手机就可以了。IOS16也可用通过此操作让开发者选项展示出来,如果是windows电脑连接IOS设备还需要记得安装iTunes。
下面是手机打开开发者选项后检测到的一个Android的模拟器和我自己的iphone手机实例:
- 点击手机图标选中手机后,下拉选中应用,选中后会自动展示版本号,随后点击创建任务。
- 点击完创建任务后页面会自动刷新,并开始性能测试,如果打开实时显示屏幕按钮,则上方的图片会实时展示手机屏幕的情况。左侧的是时间按钮是此任务的开始时间也代表此任务的名称,IOS的fps下方的卡顿,强卡顿并不会计算,Android则会真实计算,计算方式与perfdog一致。
- 最后点击停止任务,任务即可停止,任务停止之后可用删除任务,删除任务是物理删除会把所有的任务数据删除,请谨慎操作。
IOS性能测试使用的是 tidevice工具。
- Android 多类型CPU,流量新功能演示:
本软件使用了 GNU General Public License(GPL)开源许可证。大致理解如下:
- 自由使用:任何人可以免费使用被许可软件,无论是个人用户还是组织机构。
- 源代码访问:对于分发基于GPL v3.0许可的软件的人来说,必须提供源代码或者方便获取源代码的方式。这意味着用户可以查看、修改和适应软件以满足他们的需求。
- 修改的自由:任何人都可以对基于GPL v3.0许可的软件进行修改,并将修改后的版本再次发布。这确保了用户可以根据自己的需求对软件进行定制和改进。
- 再分发条件:如果你在基于GPL v3.0许可的软件上进行修改并分发,你必须将你的修改版本同样基于GPL v3.0许可协议进行分发。这样做可以确保修改的代码也对其他人开放,从而促进软件的共同发展。
- 公开许可证:任何附带基于GPL v3.0许可的软件的分发,都必须提供GPL v3.0许可协议的副本。这样其他人可以了解他们的权利和责任。