Android自动测试工具Monkey_Android

前言:

最近开始研究Android自动化测试方法,对其中的一些工具、方法和框架做了一些简单的整理,其中包括android测试框架、CTS、Monkey、Monkeyrunner、benchmark、其它test tool等等。因接触时间很短,很多地方有不足之处,希望能和大家多多交流。

一、Monkey定义

探索软件测试工具有哪些,本文主要介绍Monkey工具。Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。每次操作的时间间隔是由我们测试人员通过参数来设定,通常情况下,我们设定每次操作的时间间隔为500ms。

Monkey程序简介:

Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar

注:Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路是:/system/bin/monkey;

这样就可以通过在CMD窗口中执行: adb shell monkey {+命令参数}来进行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测试才算它是一个稳定性足够的程序。

关于Android自动测试工具Monkey的相关知识先给大家介绍这么多,后续还会持续更新有关money测试工具相关知识,敬请关注。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android_monkey测试
monkey测试工具
monkey自动化测试工具、android自动测试工具、android monkey测试、monkey测试工具下载、monkey测试工具,以便于您获取更多的相关知识。

时间: 2024-08-31 14:11:54

Android自动测试工具Monkey_Android的相关文章

Android自动测试工具Monkey的实现方法_Android

1. Android Monkey 实现操作流程: 准备:在eclipse里安装Phyon插件,可以选择在线安装,也可以下载zip解压后放在eclipse安装目录的dropins下,如 : /personal/software/android_developtools/adt-bundle-mac-x86_64-20130522/eclipse/dropins/PyDev 2.8.2 插件准备就绪就重启eclipse,检验PyDev是否正常工作,然后开始MonkeyRunner测试: 第一步:

Android自动测试工具Monkey的实现方法

1. Android Monkey 实现操作流程: 准备:在eclipse里安装Phyon插件,可以选择在线安装,也可以下载zip解压后放在eclipse安装目录的dropins下,如 : /personal/software/android_developtools/adt-bundle-mac-x86_64-20130522/eclipse/dropins/PyDev 2.8.2 插件准备就绪就重启eclipse,检验PyDev是否正常工作,然后开始MonkeyRunner测试: 第一步:

Github中自动测试工具 travis-ci的方法

  travis-ci. 它就是一个云端持续集成服务, 这个工具会在你每次 push 进行代码提交的时候, 进行代码的功能测试, 来运行 Perl 模块目录下 t/ 目录下的所有测试. 这个测试是会自动创建一个虚拟机, 并可以测试不同的 Perl 版本. 如果通过就会显示绿色, 不通过就会显示红色, 非常方便. DSL方式的配置 要使用这个功能, 只需要在你的 Github 上的 Perl 模块中加入一个 ".travis.yml" 的配置文件, 这样能自动监控你 Github 上代码

网页自动测试工具—SlimerJS

SlimerJS 是一个提供给 Web 开发人员,可通过脚本编程控制的浏览器.它可以让你使用Javascript 脚本操纵一个网页:打开一个网页,点击链接,修改的内容等,这对于做功能测试,页面自动机,网络监控,屏幕捕获等是非常有用的. 事实上,它是类似 PhantomJS 的一个工具,但是 SlimerJS 只能运行在 Gecko (Firefox)上而不是Webkit.SlimerJS 提供几乎和 PhantomJS 相同的 API,高度兼容 PhantomJS.SlimerJS 不仅是 Ph

android自动工具类TextUtils使用详解

今天,简单讲讲如何使用android自动的工具类TextUtils. 简单列举部分用法: Log.d(TAG, "---------------------------------"); //字符串拼接 Log.d(TAG, TextUtils.concat("Hello", " ", "world!").toString()); //判断是否为空字符串 Log.d(TAG, TextUtils.isEmpty("H

.NET平台下Web测试工具横向比较

在浏览器中打开页面并加以判断,无疑是测试一个Web应用程序最直接的方式.借助一款合适的自动测试工具或框架,测试人员就可以在一定程度上从繁重的手动测试工作中解放出来.Ruby平台下的Watir无疑是这方面的姣姣者,因此被大量用于Web应用程序的回归测试或验收测试.不过对于使用.NET Framework的技术团队来说,Watir不一定是最好的选择.目前社区中已经出现了几款.NET平台下的Web测试框架,测试人员现在就可以使用自己最熟悉的语言来实现同样的功能,并与自己的开发环境无缝集成. WatiN

Appium在Android UI测试中的应用实践

Android 测试工具与 Appium 简介 Appium 是一个 C/S 架构的,支持 Android/iOS Native, Hybrid 和 Mobile Web Apps 的测试框架,与测试程序通过 Selenum Webdriver 协议通讯.Webdriver 的好处是通过 HTTP RPC 的方式调用 Server 上的过程,编写测试脚本不受语言的限制,无论是 Python, Java, NodeJS 均可以方便的编写测试.本文中将使用 Python 进行编程. 起因是因为市场部

环环相扣---近期自动测试经验总结

1.问题的提出 产品开发时的自测是确保产品质量的一个重要的环节,而自动测试也是提升产品质量和提升研发效率的有效途径之一. 在设计自动测试时,我们要考虑的因素包括以下方面: 第一,测试用例的充分性. 第二,代码覆盖率尽量高. 第三,每次触发时要对之前的功能进行回归测试. 第四,新增加的测试用例不能影响老的测试用例. 第五,每个测试用例针对程序的一个小功能进行测试,且各个用例不重复. 要实现对所有软件模块进行自动测试,难度是相当大的.很多开发小组尝试着让一组测试用例触发所有的模块,即将所有模块纳入一

艾伟:.NET平台下Web测试工具横向比较

在浏览器中打开页面并加以判断,无疑是测试一个Web应用程序最直接的方式.借助一款合适的自动测试工具或框架,测试人员就可以在一定程度上从繁重的手动测试工作中解放出来.Ruby平台下的Watir无疑是这方面的姣姣者,因此被大量用于Web应用程序的回归测试或验收测试.不过对于使用.NET Framework的技术团队来说,Watir不一定是最好的选择.目前社区中已经出现了几款.NET平台下的Web测试框架,测试人员现在就可以使用自己最熟悉的语言来实现同样的功能,并与自己的开发环境无缝集成. WatiN