Android性能测试之Monkey使用
一、Android测试环境搭建
1.安装 JDK
在Java官方网站上下载相应系统的jdk文件安装,如 win7 32 位系统下安装 jdk-6u39-windows-i586,全部选择默认的安装路径即可安装完成。
2.配置 JDK 的环境变量
2.1 JAVA_HOME
新建 JAVA_HOME 环境变量,要大写,将自己安装 JDK 的路径找到,拷贝即可,如图:
2.2 CLASSPATH
新建:CLASSPATH=%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
2.3 PATH
PATH 变量不需要新建,在系统中已经有了该变量,如下图所示:
选中该变量,点击【编辑】,将红色部分复制,PATH=%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;
粘贴到 Path 环境变量尾部,在粘贴之前,要在前一个环境变量的末尾加一个英文的;点击【确定】
完成配置。
2.4 验证环境变量配置
1) 打开 CMD 命令行窗口
2) 在命令行窗口中输入 java –version,出现如下图所示的内容,即表明环境变量配置成功。
3.Android SDK 环境搭建
3.1 安装(解压)文件
首先在android官方网站下载相应的sdk文件,如图:
将该文件解压,尽量不要解压到带有中文路径的文件目录下,目录也不要过深,这里我默认
解压到了 D 盘,如下图所示:
3.2 配置 Android SDK 环境变量
1) 因为下图的文件目录下很多命令后续会使用到,因此需要进行环境变量的设置,打开build-tools/android文件夹,复制地址栏中的路径,如图:
2) 在系统环境变量中,选择 Path,进行编辑,细节可参考文档 2.3 章节,注意加分号;点击【确定】
3) 进入到 SDK 文件目录下,配置第二个环境变量,打开 platform-tools 这个文件夹,将路径栏
中的路径复制,如下图所示:
打开环境变量,继续编辑环境变量 Path,记得加 ; 点击【确定】。
4) 将 SDK 文件目录复制配置到环境变量 Path 中,如图:
配置到环境变量 Path 中:
4.配置 eclipse
1) 打开 eclipse,运行 eclipse.exe 文件
2) 双击,出现如下页面:
3) 运行完成后,会出现如下页面:
4) 在打开页面,点击菜单栏中的选项 Window->Perferences:
5) 在打开的对话框中,查看第二选项 Android,后面有一个 SDKLoaction,如果在 SDKLocation
后面没有内容,则通过点击后面的按钮【浏览】按钮,到自己所配置的文件目录下选中,
选中后如下图所示,然后点击【Apply】,如直接有路径可忽略。
6) 点击完【Apply】后,会看到如下图绿色高亮位置所显示的信息,点击【OK】即可:
7) 再次点击 Windows,并选择 Android SDK Manager
Android SDK Manager 是会更新本机上 Android SDK 版本的,如下图所示:
在更新后的对话框中至少要选中一个低版本和一个高版本的 SDK 进行安装:
下载更新完成后,打开安卓虚拟设备管理器 Windows—>Android Virtual Device Manager,
5.虚拟机设置
5.1 新建虚拟机
1) 新打开之后是空的,我们可以自己新建一个安卓的虚拟设备
2) 点击【New】,在弹出的对话框中按照下图填写虚拟设备信息:在手机上,ROM指手机操作系统和机身存储内存,RAM是指运行内存 ;VM Heap 系统缓存大小 默认16,越大运行速度越快,根据实际情况修改;Internal Storage:内部存储大小。
3) 点击【OK】后,一个名为 Test 的安卓虚拟机就创建成功了:
5.2 运行 Test 虚拟机
1) 选中虚拟机,点击 start,会弹出一个配置窗口,直接点击运行即可。
2) 点击【Launch】后,会出现虚拟机的启动界面,根据机器配置的不同,启动起来的时间也是不同的,请耐心等待……
正在启动的画面:
3) 经过了一段耐心的等待后,Android 虚拟机就已经启动起来了,如图所示:
4) 点击右下角蓝色的大图标【OK】后,就会完全展现出了我的安卓虚拟机页面
5) 启动后,我们就可以在这里模拟一些真机可以做的事情了。能够按照文档的操作看到这个可视页面,就说明我们的虚拟机环境已经 OK 了
6. 验证 Android SDK 相关环境变量
我们所要验证的 SDK 环境变量就是在本文档 3.2 章节所配置的环境变量
打开 Cmd 命令窗口
6.1 验证 platform-tools 环境变量
1) 验证是否可以进入到当前的虚拟机系统
2) 虚拟机的后台是一个 Linux 系统,在命令行执行 ls 命令,就可以看到当前系统下的所有
文件目录
3) 退出虚拟环境
6.2 验证 tools 目录下的环境变量
1) 在命令行窗口输入 andiord
2) 该命令会启动 Android SDK Manager
6.3 验证 build-tools 环境变量
1) 在命令行输入 aapt,会看到这条命令的使用帮助信息
如果以上的操作都可以成功验证, Android 系统的测试环境已经部署完成。
二、Monkey测试实例
1、虚拟机测试步骤详解:
1)首先,准备一个测试应用程序apk文件,这里使用手机购票软件进行测试,下载地址为:
http://www.gewara.com/mobile/mobileMovie.xhtml
2)将apk安装包复制到Android sdk对应的platform-tools的目录下,如:
D:\adt-bundle-windows-x86\android-sdk-windows\platform-tools
3)进行apk文件安装,安装前需要启动好模拟器,使用adb安装命令进行安装,安装命令如下:
adb install 文件名.apk
卸载命令:adb uninstall 文件名.apk
4)安装以后,会在模拟器中看到应用程序的图标。
5)安装后被测应用程序后,需要知道应用程序主Activity所在的包名,使用adb shell命令查找主Activity所在的包名。
6)使用monkey命令进行测试:
C:\Documents and Settings\Administrator>adb shell monkey -p 包名 -v 100 >e:\text.txt
2、联机测试步骤详解:
1)ADB连接Android测试设备。
连接真机两种方法:
方式一:使用USB把Android设备接到PC上,然后装上驱动,也可以使用豌豆荚代替电脑和手机都装上豌豆荚。
方式二:首先得确保你的Android已经成功root了,那么可以使用wifi无线连接。①下载一个wifi adb应用装在你的android设备上;②在android上打开wifi adb;③在pc上的命令行中输入wifi adb中显示的那部分内容:adb connect 192.168.x.x,命令行中显示connected 192.168.x.x那么说明连接好了。
方法二需要每台测试都进行root,比较麻烦,使用方法一即可;
2)确定你要测试的应用的PackageName,如果知道应用程序的package name,此步骤可以省略;
先说明一下这里讲的方法是通用的,而网上其他方法获取PackageName不然不通用(因为他是建立在root的基础上的,我不敢保证你的设备已经root)。
①在android设备上点击一下你要测试的设备,然后就不用操作设备了。
②在PC上的命令行输入:adb logcat>D:/log.txt *:I
在这里的D:/log.txt你可以改成其他的路径,但是一定要先确保路径下没有这个文件,不然的话你以前的文件就被改掉了,一定要小心。
③按下Ctrl+c先停掉(为了避免过多的新信息)。打开刚刚的那个文件D:/log.txt。从文件最下面开始找下面格式的信息
I/ActivityManager( 数字): Displayed 包名/类名: +数字ms
例如我的信息如下:
I/ActivityManager( 272): Displayed com.vane/.act.ActLauncher: +315ms
不过你可能会发现有很多这种格式的信息,到底哪个才是你需要的呢,如果你严格按照刚刚的步骤做的话,那么很可能是最下面那条信息,即使不是那么也肯定是最下面几条信息中的某一条,这需要你根据应用进行辨别。
④记下你刚刚得到的包名,例子中的包名为“com.vane”。马上就会用。
3、使用Monkey发一条测试命令。
C:\Documents and Settings\Administrator>adb shell monkey -p 包名 -v 300 >e:\text.txt
备注:命令中的参数你可以自己根据需要参考上面的参数文档进行修改。
4、观察android设备,直到Monkey停止。
5、如果应用崩溃的话就好分析一下Monkey中的信息。
3、Monkey日志分析
1)分析步骤:
Monkey出现错误后,先找出Monkey报错内容,然后找出出错前一些事件的动作,并手动执行进行验证;多次重复执行Monkey进行验证。
2)结果分析:
ANR问题:在日志中搜索“ANR”;
崩溃问题:在日志中搜索“Exception”
3)详细日志分析: