一、 环境搭建

安装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. mysql数据库备份与还原(转)

    MySQL备份和还原,都是利用mysqldump.mysql和source命令来完成的. 1.Linux下MySQL的备份与还原 1.1 备份 [root@localhost ~]# cd /var/ ...

  2. 【ecmall】解决无法上传店铺logo和banner照片问题 (转)

    问题描述:在ecmall个人用户登录,点击用户中心-店铺设置-更换店标,上传一个jpg图像(图像符合规范)后,不能预览,而且在页面底部点击提交后没有上传成功.banner店铺条幅也是一样的情况,还有下 ...

  3. js对字符串进行编码方法总结

    在用javascript对URL字符串进行编码中,虽然escape().encodeURI().encodeURIComponent()三种方法都能对一些影响URL完整性的特殊字符进行过滤.但后两者是 ...

  4. Java基础知识复习(二)

    Java 重写(Override)与重载(Overload) 重写 是子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变,属于编译时多态.即外壳不变,核心重写! 重写的好处在于子 ...

  5. UiAutomator viewer 在tools下启动、资源jar包在platforms下(如android22)

    1.UiAutomator viewer 在tools下启动. 2.资源jar包在platforms下(如android22):android.jar/ uiautomator.jar

  6. java代码用户界面网格布局GridLayout.划分为格子区域

    总结:网格布局.很简单,首先要new一个   this.setlayout(new GriedLayout(3,5));里面是行数和列数 package clientFrame; //网格布局练习 i ...

  7. PTA 最大子列和问题(10 分)

    最大子列和问题(10 分) 给定K个整数组成的序列{ N​1​​, N​2​​, ..., N​K​​ },“连续子列”被定义为{ N​i​​, N​i+1​​, ..., N​j​​ },其中 1≤ ...

  8. 1115 Counting Nodes in a BST

    题意:给出一棵二叉搜索树的插入序列,要求该树最后两层的结点个数. 思路:在树结点中增加一个数据域layer,表示该结点所在的层次.另外,设置数组level[]和变量maxLevel,level[i]表 ...

  9. ubuntu安装nginx踩坑

    ubuntu安装nginx 安装nginx tar -zxvf nginx-1.15.5.tar.gz -C /usr/local/src 解压 cd /usr/local/src/nginx-1.1 ...

  10. Mycat之日志分析 select * from travelrecord order by id limit 100000,100 的执行过程

    解释:mycat在执行分页排序的时候,分成2步走.如果M很大,会改写成 limit 0,m+n, 然后在每个MYSQL分片上排序后还需要在mycat汇总输出,所以会很慢.下面是详细执行计划以及日志输出 ...