Android自动化测试手段之Monkey(adb shell monkey)

一、 什么是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需要指定设备

指定设备属于adb的基础命令,基本语法如下:

$ adb -s [device] shell monkey [options]

例如:adb -s emulator-5554 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测试才算它是一个稳定性足够的程序。

时间: 2024-08-28 08:17:40

Android自动化测试手段之Monkey(adb shell monkey)的相关文章

monkey 测试 adb shell monkey

adb shell monkey -p com.android.recorder --throttle 360 --ignore-crashes --monitor-native-crashes --ignore-security-exceptions --ignore-timeouts --ignore-native-crashes --pct-syskeys 10 --pct-nav 20 --pct-majornav 20 --pct-touch 40 --pct-appswitch 10

Android自动化测试框架开发(二)Monkey、MonkeyRunner介绍和分析

本篇介绍两个Android自带的测试框架:Monkey和MonkeyRunner 1.Monkey Monkey是android自带的测试框架,通过向手机发送随机事件(手势,点击,输入)进行应用程序压力测试(可指定应用程序包名,也可以说是稳定性测试),测试应用程序的稳定性和健壮性: 使用步骤: (1)进入adb shell (2)cd /system/bin 然后执行monkey命令即可: 常用的monkey命令(网上借的图): 分析: Monkey测试是一种为了测试软件的稳定性.健壮性的快速有

android adb shell and monkey 学习记录

Monkey环境: android SDK and JDK SDK目录下的platform-tools和tools目录要配置环境变量 查看版本: ADB 的安装这里就不多说了,输入以下命令有如下提示就证明你环境ok,否则自行网上搜索解决下. > adb version 查看连接设备: 输入以下命令可以查询已连接的设备与模拟器: > adb devices 查看appPackage 和 appActivity: 设备运行程序 > adb logcat > \path\log.txt

Monkey原理初步和改良优化--Android自动化测试学习历程

章节:自动化基础篇——Monkey原理初步和改良优化(第三讲) 主要讲解内容与笔记: 一.理论知识: 直接看文档,来了解monkey的概念.基本原理,以及如何使用. First,what is Android Monkey? The Monkey is a program that runs on your emulator or device and generates pseudo-random streams of user events such as clicks, touches,

基于Monkey的Android自动化测试

使用Monkey,可以对应用的稳定性和健壮性进行压测,测试的结果对于产品在复杂环境下的运行情况有非常重要的参考意义. 下面是一个示例,带有相应的注释,简单明了,供大家参考. #!/bin/bash # define case base information case_name="monkey case" case_ver="1.0.2" case_package_name="cn.packagename.platform" case_event

【Android测试】【第二节】Monkey工具

最近开始研究Android测试的Monkey工具,因接触时间很短,还有很多不足之处,希望能和大家多多交流. ● 什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随 机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试. Monkey测试是一种为了测试软件的稳定性.健壮性的快速有效的方法. ● Monkey用来做什么 Monkey 主要用于Android 的压力测试自动的一个压力测试小工具,主要

android app压力测试(一)---monkey介绍及基本使用

前言:  很久之前,就听说了monkey:但是monkey是干什么用:如何使用:我们还是带着最简单的问题开始学习吧; ps:我的博文格式变化了,阅读了很多博文,发现这个样式阅读起来很有条理,我也参考一下下..呵呵-- [目录] 一:Monkey简介 二:Monkey的特性 三:Monkey的命令参数说明 四:Monkey使用实例 一:Monkey简介 说:monkey是一只调皮的猴子,在app中乱按.乱摸.乱跳: 模拟用户触摸屏幕.滑动轨迹球.按键等操作:对模拟器或者手机上的软件进行压力测试:

使用Adt自带的工具进行Android自动化测试(一)

在开始自动化测试的时候,我们可能需要一些工具支持.对于Android平台,官方在开发者工具Adt中已经集成了几种可以用于自动化测试的工具.如果使用这些工具,你可以不用为了开始自己的自动化测试而去额外下载安装其它的工具(当然为了Adt的正常使用,Java环境还是必须的).这个系列的文章将会分别对这些工具做出一些简单的介绍. Adt中集成的可以用于自动化测试的工具包括: Monkey MonkeyRunner UIAutomator(仅限Android 4.0以上系统) Monkey最常见的使用场景

Android自动化测试工具

Android自动化测试工具 http://wenku.baidu.com/link?url=JxD5fYxKxkT-04fs4TgKTuY7hNA8A05X7OhtNjYmKVCe5P2dqu5kBsXCJLcYis0rotLTqDLNgYAMukqLlFyxJ9hp1oQxbVpGW1QyLhM7UIe Android自动化测试手段之Monkey测试工具 http://wenku.baidu.com/link?url=qEk2ZX224-9g6Hzhcbt-N0tHqZYDPvr4o8fdD