首页 > 其他分享 >Android自动化随机测试工具-Monkey简介

Android自动化随机测试工具-Monkey简介

时间:2023-06-12 15:23:10浏览次数:32  
标签:Monkey 应用程序 随机 测试 测试工具 Android monkey

  Monkey简介

  Monkey的名字是有何而来的呢?这个没有去怎么考究,Monkey这个工具就是一个调皮的猴子,在App中乱按、乱摸、乱滚、乱跳。Monkey测试是Android平台下自动化测试的一种快速有效的手段,通过Monkey工具可以模拟用户触摸屏幕、滑动轨迹球、按键等操作来对模拟器或者手机设备上的软件进行压力测试(此处建议各位小伙伴用真实的手机),检测该软件的稳定性、健壮性。它的原理是向系统发送伪随机的用户事件流(如按键输入、触摸输入、手势输入等),实现对正在开发的应用程序进行压力测试。

  Monkey的特性

  1)测试的对象仅为应用程序包(apk包),有一定的局限性;

  2)Monkey测试使用的事件流数据流是随机的,不能进行自定义; 

  3)可对MonkeyTest的对象、事件数量、类型、频率等进行设置。     

  虽然Monkey工具并不完善,但是足于应付应用程序的基本测试需要了。测试应用程序的稳定性、健壮性还是比较不错的选择。

  Monkey的基本用法

  $ adb shell monkey [options]    

  如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送1000个伪随机事件:

   $ adb shell monkey -p your.package.name -v number

   $ monkey -p(package的意思)  指定文件名 -v(反馈日志信息的级别)  number(次数)

  Monkey测试的停止条件

  1)如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止;   

  2)如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错;   

  3)如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。

  通常情况下,我们使用Monkey测试应用的过程中,是要忽略App应用的崩溃的,并且为了方便分析,还需要生成profiling报告。报告一般在data/misc目录下

  $ adb shell monkey -p your.package.name -v 1000 --ignore crashes --hprof 

  如何判断一个应用是稳定的和健壮的?

  使用Monkey进行测试时,我们需要设定多种场景,当所有场景都跑成功并且没有严重的异常失控和崩溃,才能认定此应用是比较稳定和健壮的。

标签:Monkey,应用程序,随机,测试,测试工具,Android,monkey
From: https://www.cnblogs.com/xiaocai84/p/17475118.html

相关文章

  • Unity-Android真机调试
    一、调试准备开发者模式(准备一部安卓机并且打开开发者模式:一般是多次重复点击版本号打开)开启USB调试(一般是在开发选项里面,把USB调试打开即可)   二、环境配置1.添加AndroidBuildSupport模块2.切换Android平台并且设置Build参数 3.设置Project......
  • 基于android 的化石泡样控制系统
    本文通过对市场上使用频率较高的APP调查,并对调查结果做出需求分析后,确定了基于Android的化石泡系统控制的APP的实现。并对UI的概念以及在进行手机应用界面设计时的规则和规范进行了理论的阐述和分析。真正的做到了理论和实践相结合。本设计的框架为Android系统,客户端界面由其相关......
  • 基于android的校园社区APP设计
    本课题介绍的是一款基于Android平台开发的校园论坛的手机应用软件的设计和实现。在该应用的开发中,为了满足用户联系老朋友、结交新朋友的需求,并且可以买卖闲置物品的要求。该应用基本具备了所有社交类应用软件中常见的用户管理、消息管理、推送管理以及检索管理等基本功能。在此......
  • Android中Activity的启动模式
    Android中Activity的启动模式一共有4种,分别是standard、singleTop、singleTask、singleInstance,可以在AndroidManifest.xml中通过给<activity>标签指定android:launchMode属性来指定启动模式。1、standard在standard模式下,每当启动一个新的Activity,他就会在返回栈中入栈,并处于......
  • Android带文字的ImageButton实现
    实际上,ImageButton是不能添加文字的,所以我选择将ImageView控件和TextView控件封装在一个LinearLayout里面,整个LinearLayout就是一个按钮,然后对它监听单击等动作。首先贴上layout.xml里面的布局设计: <LinearLayout02 android:layout_width="wrap_content"0......
  • Android Studio 添加安卓虚拟设备时提示 No emulator installed
    在设置页面勾选两个工具即可,我遇到的情况是明明已经安装了这两个工具还是提示没有安装,于是我取消勾选把两个安装好的工具删除了,再勾选重新安装。果不其然就提示安装失败,不慌再试一遍,第二次安装过程中没报错了,再次添加安卓设备,成功启动了。 ......
  • Android Studio 2022.2.1 设置gradle依赖库
    AndroidStudio安装好后,随便创建一个项目编译时提示错误Plugin[id:'com.gradle.enterprise',version:'3.12.3',artifact:'com.gradle:gradle-enterprise-gradle-plugin:3.12.3']wasnotfoundinanyofthefollowingsources:网上查询显示的是gradle依赖库的问题,解决方......
  • WinCacheGrind网站性能测试工具
    WinCacheGrind是一个Windows平台下的PHPXdebug分析工具,可以帮助开发人员分析PHP应用程序的性能问题。它基于KCacheGrind,使用类似于KCacheGrind的界面,但是可以在Windows操作系统下运行。WinCacheGrind的主要功能包括:1.显示函数调用图:WinCacheGrind可以显示PHP......
  • Kali 渗透测试工具 Metasploit 的使用
    Metasploit是一款开源的安全漏洞检测工具,同时Metasploit是免费的工具。Metasploit核心中绝大部分有Rudy实现,一小部分由汇编和C语言实现。 文件结构与模块:路径:/usr/share/metasploit-framework/config:MSF环境配置信息,数据库配置信息data:后渗透模块的一些工具及pa......
  • Android 自定义View模板代码记录
    原文地址:Android自定义View模板代码记录-Stars-One的杂货小窝每次写自定义View,需要重写3个构造方法,如果使用AndroidStudio直接创建,会导致View代码过多,于是稍微删了点多余代码,搞一份简洁的模板代码供自己使用模版代码importandroid.content.Contextimportandroid.util.......