一、 环境搭建

安装Android SDK

1.6或者1.7版本均可,建议1.7,环境变量的配置,Java SDK的安装很简单,不赘述了。

安装SDK

1、安装Android SDK;

2、安装完毕后启动Android SDK Manger (SDK Manager.exe,在Android SDK的安装目录下),安装需要的Android Packages,比如一些工具,需要的Android版本等等。需要注意的是google官网的下载经常失败,这时就需要配置代理了

Server:mirrors.neusoft.edu.cn,port:80

3、 添加环境变量Android_HOME,值是Android SDK的安装路径;并把Android SDK下的platform-tools路径和tools路径添加到环境变量:Path (%ANDROID_HOME%\platform-tools; %ANDROID_HOME%\tools;)

(还是不会配置安装sdk环境的可以访问下面的链接:安卓开发环境搭建流程

安装Python,版本2.7+

1、下载并安装Python2.7

2、将Python2.7的安装路径(也就是python.exe所在的目录)添加到环境变量Path。

二、功能实现

测试项

1、monkey测试:输入测试的时长,进行测试。通过模拟用户的输入以用来检测会不会出现异常以及ANR和Crash等情况的发生。

2、启动时间测试:根据输入的次数进行测试,启动时间测试的是APP关闭后(APP不在后台运行)的启动时间,测试结束后将返回本次测试启动时间的最大值、最小值、平均值以及执行的次数。

3、以上两个功能只能采用自动测试的方式。

资源监控

1、cpu、内存监控:对操作过程中APP的内存和CPU进行监控并制成图表。

2、流量监控:对操作中APP的流量进行监控,并制成图表。其中流量包括接受的流量和发送的流量。

3、监控部分可以选择手动操作和自动操作。手动操作就是自己点点点,自动操作当进行monkey测试和启动时间测试时进行监控,具体操作过程请查看具体操作部分。

制定图表

根据监控数据生成二维折线图表。

生成报告

根据测试结果、数据、图表生成html格式的报告。

三、具体操作

手动操作


1、首先将手机用数据线和电脑相连

2、在将需要测试的apk放进工具主文件夹下的apk文件中,该apk要与手机上安装的app程序是一致的,如图:

3、手机连上电脑后请双击MobilePerformance文件夹下的run.bat即可启动程序。如图:

4、程序运行后如下图所示:

5、点击程序的设备检测按钮,无论手机是否连接成功都会有响应提示,如图,请在手机连接成功时进行测试。

手机连接成功提示:

手机连接不成功提示:

6、需要进行手动操作时,测试项部分不能选择,只能选择资源监控部分的多选框,当然可以选择一项或者多项,但是不能不选择。如下图所示:

7、选择需要监控的资源后,就可以点击开始按钮了,如图:

8、然后对手机进行操作

9、操作结束后点击程序的结束按钮,会有响应提示,请耐心等待,报告生成,如图:

10、如果想继续测试请重复以上步骤,若想退出程序,请点击退出按钮,如图:

自动测试


1、首先将手机用数据线和电脑相连

2、在将需要测试的apk放进工具主文件夹下的apk文件中,该apk要与手机上安装的app程序是一致的,如图:

3、手机连上电脑后请双击MobilePerformance文件夹下的run.bat即可启动程序。如图:

4、程序运行后如下图所示:

5、点击程序的设备检测按钮,无论手机是否连接成功都会有响应提示,如图,请在手机连接成功时进行测试。

6、需要进行自动操作时,测试项部分必须要选择一项并填写相应的值,然后选择资源监控部分的多选框部分,选择相应的监控功能如下图所示:

7、选择需要监控的资源后,就可以点击开始按钮了,自动测试不需要我们自己去操作手机,也不需要点击结束按钮,资源监控监控的就是自动操作手机这段时间的数据,自动操作结束后稍等一会就回生成报告,如图:

8、如果想继续测试请重复以上步骤,若想退成程序,请点击退出按钮,如图:

四、报告说明

生成的报告在MobilePerformance文件下的log文件夹中,每一个task文件夹是一次测试的数据,如图:

日志文件夹中包括以下文件,如图:

memory.log:是操作手机阶段CPU和内存的日志,如图:

network.log:是操作手机阶段接受流量和发送流量的日志,如图:

monkey.log如下:

Test_cpuInfo.jpg和Test_cpuInfo.png:是生成的cpu折线图,只是格式不一样。

Test_memoryInfo.jpg和Test_memoryInfo.png:是生成的内存折线图,只是格式不一样。

Test_networkTraffic.jpg和Test_networkTraffic.png:是生成的流量折线图,只是格式不一样。

result_XXXX.html:是生成的HTML报告,XXX为日期。

五、常见问题解决方案

手机已经连接了电脑,但是检查设备还是检测不到。

答:先打开cmd,输入adb devices命令,查看结果:

如果是如下显示,则证明是手机未能成功连接电脑,如图:

这种情况有可能是usb调试没有打开,若已经打开还是不行则可以下载豌豆侠或360手机助手等工具进行连接,工具显示连接成功后则执行adb devices命令查看,出现如下图红框的内容则证明连接成功,可进行程序的使用:

如果第一次使用程序没问题,第二次就显示连接程序不成功或者等一会就显示不成功。

答:先打开cmd,输入adb devices命令,查看结果,如果提示error: unknown host service这个错误则一般是5037端口被占用问题

1、打开命令行,输入命令:netstat -ano | findstr "5037",如下图:

从以上命令的执行结果的第二列的冒号之后的就是端口号,最后一列就是进程的pid。根据该pid去任务管理器中查找对应的进程。

2、打开任务管理器,在菜单中查看->选择列中将PID勾选上,然后点击PID列的表头,让其递增排序便于根据pid找到进程名称。

从上图可以看出,进程pid为8556的进程名称是adb.exe,这个是正常的。如果是其它名称,如tadb.exe,那么就说明腾讯的QQ占用该端口了。如果是其它的应用程序占用了5037端口,你就需要将其手动结束掉,然后在运行adb命令,应该就可以连上了。

3、如果以上手动不能杀死进程,则我们需要更改我们的端口号,只要在系统环境变量中定义ANDROID_ADB_SERVER_PORT的值即可。最好选择一个5位数的端口号(10000~65535),不易重复

App性能测试工具使用说明-MobilePerformance的更多相关文章

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

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

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

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

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

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

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

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

  5. APP性能测试工具

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

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

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

  7. Benchmark Web App 性能瓶颈分析与性能测试工具的使用方法总结

    主要分为以下几个要素的指标: Disk IO . CPU . mem . Net . MySQL Web性能测试工具: 客户端 服务器端: 服务器性能测试工具: 服务器性能瓶颈分析工具: ab, si ...

  8. Locust 性能测试工具安装使用说明

    1. 介绍     它是一个开源性能测试工具.使用 Python 代码来定义用户行为.用它可以模拟百万计的并发用户访问你的系统. 性能工具对比 LoadRunner 是非常有名的商业性能测试工具,功能 ...

  9. Elong App 性能测试分享

    个人简介: 测试老鸟,曾做过6年的测试以及2年的大数据开发:曾就职于伟景行.高德(大数据开发):钟情于钻研开源测试框架:目前挂单于艺龙. 有对本主题感兴趣的同学,可以加我Q私信(305285925): ...

随机推荐

  1. android栈和队列

    android栈和队列 栈和队列是两种特殊的线性表,它们的逻辑结构和线性表相同,只是其运算规则较线性表有更多的限制,故又称它们为运算受限的线性表.LinkedList数据结构是一种双向的链式结构,每一 ...

  2. The method of type must override a superclass method解决方式(转)

    今天做struts2上传文件的时候出现了这个问题: The method execute() of type UploadAction must override or implement a sup ...

  3. HTTP/HTTPS原理详解

    简介 HTTP(Hypertext Transfer Protocal,超文本传输协议)是WWW(World Wide Web,万维网)数据传输的基础,规定如何传输超文本.HTTP协议存在多个版本:H ...

  4. 程序或-内存区域分配& ELF分析 ***

    一.在学习之前我们先看看ELF文件. ELF分为三种类型: 1. .o 可重定位文件(relocalble file) 2. 可执行文件 3. 共享库(shared library) 三种格式基本上从 ...

  5. Oracle存储过程使用总结

    1.使用Oracle存储过程查询结果集: 网上写的都是他妈的扯淡!其实一句话就行了,你只要返回一个游标就OK了.具体代码如下: CREATE OR REPLACE PROCEDURE PR_ORDER ...

  6. python学习(五) 条件、循环和其他语句

    第五章 条件.循环和其他语句 5.1 print和import的更多信息 5.1.1 使用逗号输出 >>> print('age',43,45)         // 可以用逗号隔开 ...

  7. Oracle数据库Where条件执行顺序

    由于SQL优化起来比较复杂,并且还会受环境限制,在开发过程中,写SQL必须必须要遵循以下几点的原则: 1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHE ...

  8. DVWA平台v1.8-反射型XSS(low级别)

    源代码 <?php if(!array_key_exists ("name", $_GET) || $_GET['name'] == NULL || $_GET['name' ...

  9. haproxy启动时提示失败

    haproxy启动时提示失败:[ALERT] 164/110030 (11606) : Starting proxy linuxyw.com: cannot bind socket 这个问题,其实就是 ...

  10. ceph 创建和删除osd

    ceph 创建和删除osd 1.概述         本次主要是使用ceph-deploy工具和使用ceph的相关命令实现在主机上指定磁盘创建和删除osd,本次以主机172.16.1.96(主机名ha ...