App性能测试工具使用说明-MobilePerformance
一、 环境搭建
安装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的更多相关文章
- Emmagee app性能测试工具使用教程
Emmagee app性能测试工具使用教程 by:授客 QQ:1033553122 简介 Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个Ap ...
- APP性能测试工具GT的使用总结:app内存测试
APP性能测试工具GT的使用总结:app内存测试 GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment). ...
- 【转】Emmagee app性能测试工具使用教程
简介 Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化,且用户可自定义配置监控 ...
- APP性能测试工具-GT(随身调)
GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment).利用GT,仅凭一部手机,无需连接电脑,您即可对AP ...
- APP性能测试工具
各种自动化工具作用: 自动化:appium 针对接口做压测:jmeter 执行一段脚本,随机乱点:monkey 如果有用loadrunner12的话 也可以用mobilerecoder录制脚本(lr1 ...
- App测试工具大全,收藏这篇就够了
随着移动互联网的高速发展,App 应用非常火,测试工程师也会接触到各种 app 应用.除了人工测试之外,也可以通过一些测试工具来提高我们的测试效率,以下对于我用过或听过的 app 测试工具做了一个统一 ...
- Benchmark Web App 性能瓶颈分析与性能测试工具的使用方法总结
主要分为以下几个要素的指标: Disk IO . CPU . mem . Net . MySQL Web性能测试工具: 客户端 服务器端: 服务器性能测试工具: 服务器性能瓶颈分析工具: ab, si ...
- Locust 性能测试工具安装使用说明
1. 介绍 它是一个开源性能测试工具.使用 Python 代码来定义用户行为.用它可以模拟百万计的并发用户访问你的系统. 性能工具对比 LoadRunner 是非常有名的商业性能测试工具,功能 ...
- Elong App 性能测试分享
个人简介: 测试老鸟,曾做过6年的测试以及2年的大数据开发:曾就职于伟景行.高德(大数据开发):钟情于钻研开源测试框架:目前挂单于艺龙. 有对本主题感兴趣的同学,可以加我Q私信(305285925): ...
随机推荐
- gradle wrapper 简单使用
其实就是对于gradle 的一个包装,保证了项目版本的一致,同时减少配置 1. 生成wrapper // 使用gradle wrapper 命令 gradle wrapper 输出效果如下: [r ...
- Yii CDbCriteria类中方法
$criteria = new CDbCriteria; //select $criteria->select = '*';//默认* $criteria->select = 'id,na ...
- maven搭建
http://blog.csdn.net/zhshulin/article/details/30779873 http://blog.csdn.net/zhshulin/article/details ...
- sqlserver sql语句查看分区记录数、查看记录所在分区
select count(1) ,$PARTITION.WorkDatePFN(workdate) from imgfile group by $PARTITION.WorkDatePFN(workd ...
- Linux 简单字符设备驱动
1.hello_drv.c (1) 初始化和卸载函数的格式是固定的,函数名自定义 (2) printk是内核的打印函数,用法与printf一致 (3) MODULE_LICENSE:模块代码支持开源协 ...
- IaaS vs PaaS vs SaaS
在云计算的早期阶段,企业面临的最大问题是他们是否应该使用公共云服务.如今,几乎所有的组织都在采用一些公共云服务.更重要的问题是企业应该使用哪种云服务:基础设施即服务(IaaS),平台即服务(PaaS) ...
- (转)使用PowerDesigner生成HTML功能
本文转载自:http://www.cnblogs.com/CowboyProgrammer/archive/2009/04/28/1445423.html 使用PowerDesigner设计数据库关系 ...
- java随机数组
import java.util.Random; public class Ccore { public static void main(String[] args) { for(int i=1;i ...
- 杂项:UN-APP
ylbtech-杂项:APP 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 7.返回顶部 8.返回顶部 9.返回顶部 10 ...
- UE4事件相关总结
转自:http://blog.ch-wind.com/ue4-event-overview/ 事件机制是实现游戏内逻辑的重要部分,在开始进行游戏逻辑的设计和实现之前,对UE4的事件机制进行理解是非常必 ...