一、Emmagee介绍

Emmagee是监控指定被测应用在使用过程中占用机器的CPU、内存、流量资源的性能测试小工具。
该工具的优势在于如同windows系统性能监视器类似,它提供的是数据采集的功能,而行为则基于用户真实的应用操作
支持SDK:Android2.2以及以上版本

二、为什么使用Emmagee?

1、开源
2、使用方便,无需root权限
3、可以监控单个应用性能
4、浮窗显示实时展示数据
5、CSV格式保存性能数据,方便转换为其它格式
6、用户自定义采集性能数据频率
7、支持2.2以及以上版本

三、Emmagee详细功能介绍

1、检测当前时间被测应用占用的CPU使用率以及总体CPU使用量

2、检测当前时间被测应用占用的内存量,以及占用的总体内存百分比,剩余内存量

3、检测应用从启动开始到当前时间消耗的流量数

4、测试数据写入到CSV文件中,同时存储在手机中

5、可以选择开启浮窗功能,浮窗中实时显示被测应用占用性能数据信息

6、在浮窗中可以快速启动或者关闭手机的wifi网络

四、Emmagee如何使用?

1、安装Emmagee应用

apk下载地址:https://github.com/NetEase/Emmagee/releases

2、启动Emmagee,右上角设置采集频率,列表中会默认加载手机安装的所有应用

3、选择你需要测试的应用,点击“开始测试”,被测应用会被启动

4、开始你的功能测试吧,测试过程中会自动记录相关性能参数

5、(重要)测试完成后回到Emmagee界面,点击“结束测试”,测试结果会保存在手机指定目录的CSV文件中

生成的CSV文件内容见图:

6、将csv数据拷贝到excel中(或另存为excel文件)生成图表,使用自带的统计图标功能生成统计图,即可清晰看到整个操作过程中cpu、内存等关键数据的变化。

生成统计图步骤:

1)将“时间”列去掉日期,仅保留时分秒;

2)将不需要的列隐藏,保留需要分析的列;

3)生成图表;

以下为某个项目的app生成的图表:

数据性能指标:
  • 应用占用内存PSS(MB):应用当前占内存的大小;
  • 应用占用内存比(%):应有占总内存的百分比;
  • 机器剩余内存(MB):机器当前剩余内存;
  • 应用占用CPU率(%):应用占用总CPU的百分比;
  • CPU总使用率(%):CPU的总使用率,包括当前应有,和系统的所有运行的应有;
  • CPU0-CPU3是因为手机是多核的(4核显示cpu0-cpu3,10核显示到cpu0-cpu9)
  • 流量(KB):从检测开始共耗用的流量;
  • 电量(%):剩余电池的百分比,包括其他应用的,这个是有误差的,所以测试期间尽可能关闭其他软件,或者期间别操作其他的应用,避免带来误差;
  • 电流(mA):小于0是放电大于0是充电;
  • 温度(C):手机当前的温度;
  • 电压(V):未知;
  • 帧率:不确定是两次取数之间的平均帧率还是取数据的瞬间帧率。

五、设置

1、采集数据可以在Emmagee右上角设置中设置采集频率,默认为5;

2、邮件配置:

六、常见问题及解决方案

1. 以下不受支持的设备意味着某些性能数据将在监控时显示“null”或“N/A”;

Unsupported Performance Data
Devices
Known Issues
CPU,Current Xiaomi MI 1,MI 2 CPU usage occasionally is higher than 600% when using "top" command
Current Samgsung Galaxy Nexus、HuaWei Honor 4C These devices do not include the electric current values in battery drivers
Start time Xiaomi MI 2, 
acer v360
These devices do not contain the ActivityManager's Displayed message from the logcat

2. excel在打开CSV文件时可能会出现乱码的情况

因为excel打开CSV默认使用ANSI编码,如果手机上保存的CSV是utf-8或其他编码,就会出现乱码,这里使用一下特别的转码技巧,

先在类似“Emmagee_TestResult_(时间).csv”上右键单击,用“记事本”打开,然后点击“文件—另存为”,在编码那里选择“ANSI”,保存,然后用excel打开即可解决乱码的问题。

注:

1. 已知部分不支持的机型可在此查阅:https://github.com/NetEase/Emmagee/wiki/Some-devices-are-not-supported;

2. 电流: 小于0是放电大于0是充电;

3. 启动时间: 为空是应用已启动或者未搜集到启动时间;

4. N/A: 不支持或者数据异常;

5. 采集数据可以在Emmagee右上角设置中设置采集频率,该实例采用的是5秒;

6. Emmagee软件不显示悬浮窗,可以在手机中设置,具体自己百度吧。

Emmagee--APP性能测试工具的基本使用的更多相关文章

  1. Emmagee app性能测试工具使用教程

    Emmagee app性能测试工具使用教程 by:授客 QQ:1033553122 简介 Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个Ap ...

  2. 【转】Emmagee app性能测试工具使用教程

    简介 Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化,且用户可自定义配置监控 ...

  3. APP性能测试工具GT的使用总结:app内存测试

    APP性能测试工具GT的使用总结:app内存测试 GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment). ...

  4. APP性能测试工具-GT(随身调)

    GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment).利用GT,仅凭一部手机,无需连接电脑,您即可对AP ...

  5. App性能测试工具使用说明-MobilePerformance

    一. 环境搭建 安装Android SDK 1.6或者1.7版本均可,建议1.7,环境变量的配置,Java SDK的安装很简单,不赘述了. 安装SDK 1.安装Android SDK: 2.安装完毕后 ...

  6. APP性能测试工具

    各种自动化工具作用: 自动化:appium 针对接口做压测:jmeter 执行一段脚本,随机乱点:monkey 如果有用loadrunner12的话 也可以用mobilerecoder录制脚本(lr1 ...

  7. Emmagee——开源Android性能测试工具

    工具:Emmagee作者:孔庆云 网易(杭州)质量保证部 开源地址:https://github.com/NetEase/Emmagee Wiki:https://github.com/NetEase ...

  8. Emmagee—开源Android性能测试工具

    下载:https://github.com/NetEase/Emmagee/releases/download/V2.5/Emmagee.apk 1.Emmagee——Android性能测试工具 Em ...

  9. App测试工具大全,收藏这篇就够了

    随着移动互联网的高速发展,App 应用非常火,测试工程师也会接触到各种 app 应用.除了人工测试之外,也可以通过一些测试工具来提高我们的测试效率,以下对于我用过或听过的 app 测试工具做了一个统一 ...

  10. Android性能测试工具(一)之Emmagee

    Android性能测试工具(一) 之Emmagee Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具. 支持SDK:Android2.2以及以上版本 Emm ...

随机推荐

  1. JavaScript 中的undefined and null 学习

    JavaScript 中的undefined and null learn record from the definitive guide to html5 JavaScript 中有两个特殊值:u ...

  2. springboot中使用分页,文件上传,jquery的具体步骤(持续更新)

    分页: pom.xml     加依赖 <dependency> <groupId>com.github.pagehelper</groupId> <arti ...

  3. ssh运行环境搭建及测试

    一.运行环境 1.Spring环境 Spring是一站式开发框架,在SSH中主要有以下作用,就像一个大管家: 控制反转(Inversion of Control):类不再自己进行类创建,而是交给Spr ...

  4. java8完全解读一

    java8完全解读 java8完全解读前言java8的一些新特性1.为什么要用java8?1.1首先想到的逻辑应该是如下1.2使用策略模式来解这个问题1.3使用策略模式和内部类来解决问题1.4使用策略 ...

  5. c# 多线程编程中AutoResetEvent和ManualResetEvent

    作为等同于Java的wait,notify,notifyAll的存在,AutoResetEvent和ManualResetEvent分别实现了notify和notifyAll的功能,下面的代码简单讲解 ...

  6. [转]关于python中带下划线的变量和函数的意义

    Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就易于阅读, ...

  7. NIO之FileChannel类的理解和使用

    文章链接:http://blog.csdn.net/qq_16628781/article/details/70532307 知识点: FileChannel类及方法理解: 普通输入输出流复制文件: ...

  8. 并发库应用之十一 & 阻塞队列的应用

    队列包含固定长度的队列和不固定长度的队列,队列的规则就是:先进先出.固定长度的队列往里放数据,如果放满了还要放,阻塞式队列就会等待,直到有数据取出,空出位置后才继续放:非阻塞式队列不能等待就只能报错了 ...

  9. no system images installed for this target这个问题如何解决?

    今天想查看个项目的布局,结果发现这个Hierarchy这个工具没有提供对实体机的支持,所以就想加一个模拟机,结果还曝出了这么么一个错误,导致不能设置模拟机: 在网上的查找下,发现原来是缺失了 圈中的是 ...

  10. 在Python中用Request库模拟登录(一):字幕库(无加密,无验证码)

    字幕库的登录表单如下所示,其中省去了无关紧要的内容: <form class="login-form" action="/User/login.html" ...