Monkey工具
前言:
最近开始研究Android自动化测试方法,对其中的一些工具、方法和框架做了一些简单的整理,其中包括android测试框架、CTS、Monkey、Monkeyrunner、benchmark、其它test tool等等。因接触时间很短,很多地方有不足之处,希望能和大家多多交流。
一、 什么是Monkey
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
二、 Monkey的特征
1、 测试的对象仅为应用程序包,有一定的局限性。
2、Monky测试使用的事件流数据流是随机的,不能进行自定义。
3、 可对MonkeyTest的对象,事件数量,类型,频率等进行设置。
三、Monkey的基本用法
基本语法如下:
$ adb shell monkey [options]
如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送500个伪随机事件:
$ adb shell monkey -p your.package.name -v 500
四、Monkey测试的一个实例
通过这个实例,我们能理解Monkey测试的步骤以及如何知道哪些应用程序能够用Monkey进行测试。
Windows下(注:2—4步是为了查看我们可以测试哪些应用程序包,可省略):
1、 通过eclipse启动一个Android的emulator
2、 在命令行中输入:adb devices查看设备连接情况
C:\Documents and Settings\Administrator>adb devices
List of devices attached
emulator-5554 device
3、 在有设备连接的前提下,在命令行中输入:adb shell 进入shell界面
C:\Documents and Settings\Administrator>adb shell
#
4、 查看data/data文件夹下的应用程序包。注:我们能测试的应用程序包都在这个目录下面
C:\Documents and Settings\Administrator>adb shell
# ls data/data
ls data/data
com.google.android.btrouter
com.android.providers.telephony
com.android.mms
com.android.providers.downloads
com.android.deskclock
com.android.email
com.android.providers.media
com.android.settings
jp.co.omronsoft.openwnn
com.android.providers.userdictionary
com.android.quicksearchbox
com.android.protips
com.android.browser
com.android.launcher
com.android.term
com.android.speechrecorder
com.android.server.vpn
com.android.defcontainer
com.svox.pico
com.android.customlocale
com.android.development
com.android.soundrecorder
com.android.providers.drm
com.android.spare_parts
com.android.providers.downloads.ui
com.android.fallback
com.android.providers.applications
com.android.netspeed
com.android.wallpaper.livepicker
android.tts
com.android.htmlviewer
com.android.music
com.android.certinstaller
com.android.inputmethod.pinyin
com.android.providers.subscribedfeeds
com.android.inputmethod.latin
com.android.gallery
com.android.systemui
com.android.contacts
com.android.phone
com.android.sdksetup
com.android.calculator2
com.android.packageinstaller
com.android.camera
com.android.providers.settings
com.thestore.main
com.android.providers.contacts
5、 以com.android.calculator2作为对象进行MonkeyTest
#monkey-p com.android.calculator2 -v 500
其中-p表示对象包 –v 表示事件数量
运行过程中,Emulator中的应用程序在不断地切换画面。
按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。
注:具体参数的设定可参考:
http://developer.android.com/guide/developing/tools/monkey.html
五、关于Monkey测试的停止条件
Monkey Test执行过程中在下列三种情况下会自动停止:
1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。
2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。
3、如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。
通过多次并且不同设定下的Monkey测试才算它是一个稳定性足够的程序。
相关推荐
Monkey工具的使用十分便捷,可以通过简单的命令行接口直接在Android模拟器或实际设备上执行。其核心功能包括: 1. **基本配置选项**:如设定事件总数。 2. **运行约束选项**:例如限制测试仅在一个特定的应用程序包...
Monkey测试是Android自动化测试的一种重要方法,主要用于检测应用程序在大量随机事件下的稳定性和性能。它通过模拟用户的各种操作,如按键、触摸屏点击、手势等,来触发可能的异常情况,帮助开发者找出潜在的错误和...
《Android自动测试中的Monkey工具详解》 在Android应用开发中,自动测试是保证软件质量的重要环节,而Monkey工具就是其中一种高效的压力测试工具。Monkey工具能够生成一系列随机的用户事件流,模拟用户对应用程序的...
Android自动测试之Monkey工具 Android自动化测试初探 Android自动化测试可行性途径分析 Android自动化测试之道 GSM手机自动化测试解决方案 手机自动化测试系统设计浅析 在Android_Robotium自动化测试中导出Test_...
### Android测试工具Monkey学习笔记 #### 一、Monkey工具简介 Monkey是Android系统自带的一款强大的自动化测试...通过上述步骤,我们可以充分利用Monkey工具进行高效的自动化测试,提高Android应用的质量和稳定性。
Monkey工具在IT行业中,尤其是Android应用测试领域,是一款非常实用的自动化测试工具。它是由Google开发的,主要用于压力测试和稳定性测试,通过模拟用户随机的触摸事件、键盘输入以及系统事件来检测应用程序的稳定...
【Android自动测试之monkeyrunner工具】是Android平台上用于自动化测试的一种工具,它提供了一套Python API,使得开发者能够在PC上编写脚本,控制Android设备或模拟器进行测试操作。Monkeyrunner不仅适用于应用的...
Monkey是Android平台上的一种轻量级的自动化测试工具,它的主要功能是通过模拟用户随机操作来对应用程序进行压力测试。这个工具对于开发者来说是极其有用的,因为它可以帮助找出应用程序在连续、高强度使用下的潜在...
在Android开发过程中, Monkey 测试是一种常用的自动化测试方法,它由Android系统提供的一个命令行工具执行,用于模拟用户随机操作,以检测应用的稳定性和健壮性。Monkey测试的原理是向应用程序发送伪随机的用户事件...
总结起来,Monkey是Android自动化测试中的一个重要工具,通过理解和利用Monkey的源代码,我们可以定制更加高效和针对性的测试方案,提高应用的质量和稳定性。同时,结合其他工具和日志分析,可以进一步优化测试过程...
### Android自动化测试之Monkey——从参数讲解、脚本制作到实战技巧 #### 一、Monkey测试概述 Monkey测试作为Android平台自动化测试的重要组成部分,通过模拟用户触摸屏幕、滑动轨迹球、按键等操作来对设备上的...
最近开始研究Android自动化测试方法,对其中的一些工具、方法和框架做了一些简单的整理,其中包括android测试框架、CTS、Monkey、Monkeyrunner、benchmark、其它testtool等等。因接触时间很短,很多地方有不足之处,...
在Android应用测试领域,`Android Monkey`是一个非常重要的自动化工具,它由谷歌提供,用于进行随机事件模拟,帮助开发者检测应用的稳定性、健壮性和性能。`Monkey`这个名字源自于它在无序、随机的方式下“骚扰”...
总结来说,Monkey工具是Android自动化压力测试的重要手段,而`detect_memory.sh`这样的脚本则有助于我们更深入地分析测试过程中的内存消耗。通过这样的实践,开发者可以不断提升应用的质量和用户体验。
最近开始研究Android自动化测试方法,对其中的一些工具、方法和框架做了一些简单的整理,其中包括android测试框架、CTS、Monkey、Monkeyrunner、benchmark、其它test tool等等。因接触时间很短,很多地方有不足之处...
- **Appium**:跨平台的自动化测试工具,支持iOS和Android,提供更丰富的API,但设置和维护相对复杂。 7. **进阶技巧**: - **结合其他工具**:可以将`ios_monkey`的结果与持续集成工具(如Jenkins)结合,实现...