zoukankan      html  css  js  c++  java
  • Android 自动化测试——Monkey测试

      Android自带了很多方便的测试工具和方法,包括我们常用的单元测试、Robotium测试、Monkey测试、MonkeyRunner测试、senevent模拟等。这些方法对于我们编写高质量的APP十分有用。也可以提前暴露我们程序的隐藏问题。今天给大家讲一下Monkey测试,Monkey测试可以说是我上面提到过的测试方法里面最简单的。

    (PS:新建的QQ群,有兴趣可以加入一起讨论:Android群:322599434)

      

    1、Monkey测试简介

      Monkey主要应用在压力和可靠性测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自己定义发送的次数,以此观察被测应用程序的稳定性和可靠性,应用起来也比较简单,记住那几个命令就行了。

    • Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar
    • Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey

    2、Monkey的基本用法

    $ adb shell monkey [options]

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

    $ adb shell monkey -p package_name -v 100

    3、Monkey测试例子

      上面就是一个使用Monkey测试Launcher的例子,因为对某个APP进行测试的时候,需要指定APP的包名,我们可以先进入datadata目录下面,看看有哪些APP包。

    4、Monkey测试停止条件

    Monkey Test执行过程中在下列三种情况下会自动停止:

    • 如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。
    • 如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。
    • 如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。

    5、Monkey详细参数

      下面是Monkey的详细参数表,图片是从CSDN一位开发者的博客上截取的。

    图片来源:http://blog.csdn.net/linghu_java/article/details/6732895

    6、结语

      Monkey测试是Android自动化测试里面使用比较简单的方法,可以很大程度检验我们的程序是否稳定,能否经得起压力测试,可以根据实际情况调整测试的强度和测试重点。这个也是我在开发APP的时候最常用的方法,基本上每个版本发布之前,我都会进行比较高强度的Monkey测试,就像我每次发布Launcher之前都会进行1W次Monkey测试。系统集成后,再进行整体的压力测试。

      最后说一句,Monkey测试只是一个模拟测试,很多时候跟实际情况时有差别的。所以这个只能是其中一个辅助测试,后面有空再讲解其他的自动化测试方法。

    2013-8-16 

    Edited by 泡泡糖

    参考网址:http://developer.android.com/tools/help/monkey.html

    Edited by mythou

    原创博文,转载请标明出处:http://www.cnblogs.com/mythou/p/3285925.html 

  • 相关阅读:
    【PostgreSQL-9.6.3】触发器概述(普通触发器)
    【MySQL】二进制分发安装
    【MySQL】RPM包安装
    【PostgreSQL-9.6.3】分区表
    【PL/SQL】用星号拼出金字塔
    【PostgreSQL-9.6.3】临时表
    【PL/SQL】触发器示例:记录加薪
    【PL/SQL】九九乘法口诀表
    数据结构和算法
    类元编程
  • 原文地址:https://www.cnblogs.com/mythou/p/3285925.html
Copyright © 2011-2022 走看看