App性能测试工具MobilePerformance

时间:2024-02-20 21:53:48

一、 环境搭建

安装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),不易重复