性能测试工具 安卓性能测试小工具

zyx777 · August 22, 2018 · Last by karen123 replied at June 01, 2021 · 6017 hits

安卓性能测试小工具 EPGM

关于安卓性能测试,各种方案层出不穷,各种工具也是林林总总。作为刚接触安卓测试的小白,也是跃跃欲试。经过一段时间的学习和调研,完成了一个简易的性能测试小工具,分享在这里。希望和大家交流一下,学习经验。

这个小工具是需要通过 adb 安装的,但是测试时可以完全脱离 adb,独立运行在安卓手机上。为了方便实时在手机上展示具体的采集数据,我们的工具是存在一个悬浮窗的设置。

工具原理

工具会对安卓性能参数中的 CPU 占有率,内存消耗量,帧率(FPS),以及部分机型的 GPU 使用率进行实时收集,并且汇总上传到平台网站做数据可视化的展示。

工具实时采集的频率为每秒一次,具体测试时长不做限制。

CPU 占有率

工具采集出的 CPU 占有率,是通过读取安卓系统中/proc目录下的系统文件获取原数据后计算得出的。

内存消耗量

工具主要是采集了目标进程的 USS 和 PSS 两个内存信息。具体我们是使用android.os.Debug.MemoryInfo库中的 API 接口来获取数据的。

帧率(FPS)

FPS(frame per second),即为我们平时所说的帧率。工具采集出的 FPS,是通过安卓系统内部的dumpsys工具来获取系统渲染服务的具体信息并计算获得的。

GPU 使用率

工具目前只支持对高通 Adreno 型号的 GPU 进行了使用率的采集。具体是使用了/sys/class/kgsl/kgsl-3d0/gpubusy 系统文件中的 GPU 运行信息。

工具使用

下载安装

可以登录http://epgm.netease.com/ 来下载我们工具的安装包。安装包中除了包含核心的 apk 包体,还有一些安装时需要用到的脚本文件。

完成下载之后,我们得到名为EPGM.zip的压缩包。解压文件后,我们得到如下文件夹。

在使用install.bat脚本进行安装之前,我们先需要保证我们的安卓手机已经被电脑中的adb识别到。确认识别到之后,双击install.bat脚本进行工具安装。脚本运行完之后,我们会在手机上得到一个名为EPGM的工具应用。

测试使用

完成上述步骤之后,我们开始正式使用工具EPGM。打开工具,首先我们在主界面中看到当前设备中安装的大部分应用。我们可以直接点进我们要测的应用进行测试,但是开始测试之前,需要先登录一下。切换到用户界面,点击二维码登录。那二维码在哪里呢?

打开网站(需登录)上的EPGM登录二维码进行扫描,完成用户登录。

完成登录之后,就可以在应用界面选择想要测试的应用,并且进入测试。进入测试后,我们会帮用户打开被测试的应用。

进入应用后,点击浮窗上的开始按钮,我们就开始对我们的应用进行性能监控了~~

测试结束之后,点击浮窗上的暂停按钮。回到工具里,进入报告界面。我们会发现之前的测试已经形成一份报告存储下来。

查看报告

具体查看完成的测试报告,是需要我们将报告上传到网站上。在报告界面,选中要上传的报告,点击左上红色的上传 logo。上传完成之后,我们在网站上进入测试面板,就能查看报告的可视化结果。

注意事项

如果我们在测试开始时,或者测试过程中遇到浮窗爆出S404的情况,请将设备使用 adb 连接到电脑上,并运行安装文件夹中的repair.bat脚本进行修复。

总结

以上就是关于我们小工具的介绍。欢迎大家来试用哈~http://epgm.netease.com/ ,有任何疑问也可以一起讨论~

共收到 56 条回复 时间 点赞

看到测试报告里帧率那个图,还有超过 60 帧的

zyx777 #2 · August 22, 2018 Author
mling 回复

从计算 FPS 的过程来看,获得的结果其实都是一个范围均值,会存在一定的波动范围

赞一个↑
跟之前的 emmageee 对比,多了哪些东西呢?

zyx777 #4 · August 22, 2018 Author
Mingway_Hu 回复

增加了帧率和部分 GPU 使用率的采集,并且能够支持从安卓 4.4 到 8.1 的设备

这个跟 emmagee,GT,易测什么的区别在哪里啊?

手机需要 root 吗

zyx777 #7 · August 22, 2018 Author
少女 回复

不需要

zyx777 #8 · August 22, 2018 Author
simple 回复

emmageee 的区别见上面的回复。GT 和我们这个的工具定位不一样。易测具体是指什么工具?


报错了

zyx777 #10 · August 22, 2018 Author
少女 回复

你这边用的是 python 3。两个办法,一是把 basestring 改成 str,二是用 python 2。

zyx777 回复

Python 比较不熟悉啊,这边又报错了

zyx777 回复

easytest.taobao.com 这个工具

上传报告失败

三星 note5 进入应用测试后,没看到 EPGM 浮窗,已经允许在其他应用的上层显示了

zyx777 #15 · August 22, 2018 Author
simple 回复

增加了帧率和部分 GPU 使用率的采集,并且能够支持从安卓 4.4 到 8.1 的设备,无需 root

zyx777 #16 · August 22, 2018 Author
蓝蓝 回复

在进程管理中,将 EPGM 进程杀死后重启

zyx777 #17 · August 22, 2018 Author
codeskyblue 回复

是不是网络问题啊?

zyx777 回复

网络挺好的,测试的 qq 音乐

zyx777 #19 · August 23, 2018 Author
少女 回复

尴尬,我们的安装脚本没有兼容好 python 3。可以等我们更新一下脚本,或者给电脑装一下 python2 哈

zyx777 回复

这个很有吸引力了!👍

zyx777 回复

好,那你们更新一下。发现 2.x 版本都没更新了,现在都在用 3.x 版本了


楼主,有 bug,我用的魅族 pro7 7.0 手机,发现这个 fps 没数据显示

zyx777 #23 · August 23, 2018 Author
少女 回复

具体是什么游戏哈?我这边也下一个

zyx777 回复

我就随便找个游戏,我用的是贪吃蛇,这个工具,我在相机界面好像也是没数据,最重要的是测试完,发现没报告。我本地下载的 apk 好像跟你们截图的 apk 界面不一样

给大佬疯狂点赞

zyx777 #26 · August 23, 2018 Author
少女 回复

在报告界面有没有下拉刷新?

zyx777 回复

底层还是用的 adb 命令检测吧

zyx777 #28 · August 23, 2018 Author
回复

是的

不支持 python3,差评

30Floor has deleted

这个厉害,今天还在试 GameBeach,没想到就看到这个。
不过登录的时候好像不是用网易账号啊?

zyx777 #32 · August 27, 2018 Author
啵板 回复

恩,可以先注册一个测试账号试一下,我们的工具还没有接入网易账号

zyx777 #33 · August 27, 2018 Author
Tony 回复

哈哈哈,我们这边会赶紧兼容一下的。其实 python 脚本就在安装文件夹,自己稍微修改一下就好了~~

zyx777 回复

习惯 python3 啦!感谢,更新了再用起来

zyx777 回复

666👍

牛逼牛逼!!

Author only

登录后二维码不显示。show_qrcode is not defined

您好 S404 的问题 执行文件之后也不行

sdk27 8.1.0

徐汪成 回复

可以哈

leon 回复

具体是客户端显示,还是 web 端显示 show_qrcode is not defined?

lujiaxing 回复

8.1 需要在开发者选项中,把调试功能都打开,包括运行 ADB 调试等。同时,8.0 以上系统不能断开 ADB 连接。这个部分我们还在想办法。

很好用,点个赞😀

点击左上角的 “上传”,总是报 “上传失败”,求解!

流量,电量可以测吗?
你们的 emmageee 还更新吗?

怎么注册账号😂

Author only

啥时候适配 python3 啊😍

把监控这个很简单的事搞的复杂了,最不厚道的是要上传生成报告。安卓上做监控不建议用 apk 的形式,主要的问题是:
1、监控是要后台持续运行的,而国内五花八门的系统都会有一个后台查杀策略,跑在安卓层面的监控是受管理的
2、cpu、内存、fps、gpu、电量、温度、屏幕亮度、cpu 主频等数据无非是 dumpsys 取服务信息或 proc 节点,取出来保存为 csv 本身就是挺简单的事,技术点是获取数据的代码逻辑效率
3、至于生成趋势图就更不是大问题了,python+highcharts 框架直接解决

最初我搞 fps 计算方案就是看不上 gamebench,取个帧率还做个 app 还要登陆收费,做个测试工具不能开放些?本身就不是什么有技术壁垒的事

悬浮窗的方式有利有弊,优势是操作中随时可关注,弊端是额外增加了绘制开销。

现在扫码登录会失败。。。为什么啊

匿名 #52 · November 15, 2018

有没有 iOS 的?

MAC 下能用吗?

54Floor has deleted

为什么我无法扫码登陆

通过读/proc 获取 cpu 数据不需要 root?


很迷啊,为什么 apk 成功安装后,进入到目标页面,显示的数值一直是 s404 啊,有哪位大佬遇见过这种情况,求科普

补充下,手机版本是安卓 6.0

网址进不去呢

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up