一、什么是Monkey
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
二、Monkey的特征
1、测试的对象仅为应用程序包,有一定的局限性。
2、Monkey测试使用的事件流数据流是随机的,不能进行自定义。
3、可对Monkey测试的对象,事件数量,类型,频率等进行设置。
三、Monkey的基本用法
1、配置ADT环境
参考http://spring.io/guides/gs/android/
2、在mac os下配置adb全局命令
因为monkey工具需要与安卓模拟器/设备进行信息交互,所以首先需要在机器上配置adb全局命令。步骤如下:
步骤如下:
1)启动终端Terminal
2)进入当前用户的home目录(命令行输入echo $HOME)
3)创建.bash_profile(命令行输入touch.bash_profile。如果当前用户文件夹下已有.bash_profile文件,则直接跳到4)
4)打开.bash_profile文件(命令行输入open-e .bash_profile)
5)编辑.bash_profile文件:在.bash_profile文件中输入
export PATH=/Users/galengao/android-sdks/platform-tools/:$PATH
(注意:这是我电脑上的路径,具体路径取决于你安卓sdk的所在路径)
6)保存文件,关闭.bash_profile
7)更新刚配置的环境变量
输入source .bash_profile
8)验证配置是否成功
连接设备或启动模拟器。在命令行输入adb devices。此时应当出现如下界面,列出了已连接的设备和模拟器:
再输入adb shell,出现如下界面,表示已进入设备的shell命令环境:
说明配置已成功,可以使用monkey命令了。
3、monkey的基本语法为:
$ adb shell monkey -p your.package.name-v 500
其中-p命令指定了monkey可以用于测试哪些软件包,-v表示输出日志的详细程度,500表示进行500次随机活动。其他一些参数,比如设置随机种子等可以在官方文档上找到:http://developer.android.com/tools/help/monkey.html
四、什么是monkeyrunner
使用monkeyrunner工具可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以通过命令行,或写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。
五、monkeyrunner工具和monkey工具的区别
Monkey工具直接运行在设备或模拟器的adb shell中,生成用户或系统的伪随机事件流。
monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。
六、运行monkeyrunner
1、monkeyrunner工具位于android sdk下的tools文件夹,首先还是如三.2所描述配置该monkeyrunner的环境变量。
2、运行monkeyrunner有两种方法:命令行交互对话环境运行,脚本文件运行,下面分别描述(首先连接设备或打开模拟器):
a.命令行交互对话环境运行:
1)打开终端,输入monkeyrunner,进入shell命令交互模式:
2)导入monkeyrunner所需使用的模块。直接在shell命令中输入:
from com.android.monkeyrunner importMonkeyRunner, MonkeyDevice 回车
3)接下来就可以应用各种语句完成测试了
b.脚本文件运行
1)注意!用脚本文件运行的时候不能进入shell命令交互模式,直接打开终端就可以。
2)编辑python脚本文件,如myTest.py。
3)用monkey运行该脚本文件:终端输入:
monkeyrunner/Users/galengao/android-sdks/tools/myTest.py
(注意,后面的是你脚本文件存放的路径)
回车,monkeyrunner会自动调用python脚本中的语句。
七、一些链接和问题
1.如何查询一个包的包名和入口名称:http://blog.chinaunix.net/uid-26898698-id-3896769.html
2.如何获取屏幕上一个点的坐标:设备设置->开发者选项->指针位置打开