APP性能测试工具使用说明
一 环境搭建
安装Android SDK
1.6或者1.7版本均可,建议1.7,环境变量的配置,Java SDK的安装很简单,不赘述了。
安装Python,版本2.7+
1、下载并安装Python2.7
2、将Python2.7的安装路径(也就是python.exe所在的目录)添加到环境变量Path。
另外还需要下载工具,工具大家关注公众号,在公众号上回复app性能工具,即可获取到下载地址。
二 功能实现
测试项
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:是操作手机阶段接受流量和发送流量的日志,如图:
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),不易重复
最后说一下目前这个工具的局限性,目前此工具只能在Windows上执行,并且电量暂时不可用,将在下一个版本中进行更新,敬请期待吧
领取专属 10元无门槛券
私享最新 技术干货