Android的monkey测试

来源:互联网 发布:深圳咫尺网络骗局 编辑:程序博客网 时间:2024/04/28 11:04

转自 http://blog.csdn.net/linghu_java/article/details/6732895

Android SDK中的android调试桥(adb)shell里,有一个用于测试的工具——monkey。不知道最早monkey这个名字的来历,不过他确实如同一只调皮的猴子,在android app里各种乱按、乱晃、乱摸。

    如何使用:进入命令行,来到android SDK的platform-tools目录下,输入命令

          user@user:~/workspace/android-sdk-linux_x86/platform-tools$   adb shell monkey   

    即可查看到monkey工具的配置参数的用法。如下:

     usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
              [-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]
              [--ignore-crashes] [--ignore-timeouts]
              [--ignore-security-exceptions]
              [--monitor-native-crashes] [--ignore-native-crashes]
              [--kill-process-after-error] [--hprof]
              [--pct-touch PERCENT] [--pct-motion PERCENT]
              [--pct-trackball PERCENT] [--pct-syskeys PERCENT]
              [--pct-nav PERCENT] [--pct-majornav PERCENT]
              [--pct-appswitch PERCENT] [--pct-flip PERCENT]
              [--pct-anyevent PERCENT]
              [--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
              [--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
              [--wait-dbg] [--dbg-no-events]
              [--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
              [--port port]
              [-s SEED] [-v [-v] ...]
              [--throttle MILLISEC] [--randomize-throttle]
              COUNT

        在执行操作命令前,可以键入

        user@user:~/workspace/android-sdk-linux_x86/platform-tools$  adb shell   

        如此,便进入了adb shell ,可以直接输入monkey 来执行命令。否则,每次都需要输入adb shell monkey 进行操作。

  实战

1. just for fun

最简单的入手方法是:

        adb shell monkey -p com.snake -v 100  
      表示对 -p 后的软件包的app  进行100 次完全随机的测试。 monkey会随机的生成100次事件。

      输出中将依次列出所产生的随机事件。


2.针对性测试

      当然,不用app有不同的侧重点,我们需要测试的重心也就不一样,这时候,我们或许需要调整随机事件中不同事件的比例。

--pct就是这个用处。比如:" --pct-touch 50 % " 表示生成的随机事件中触摸事件占有50%  ,而" --pct-syskeys 10% "则表示生成的随机事件中按键事件占10%。


3. 调试分析

      随着测试的深入,我们需要忽略app的崩溃,而不是停住,monkey同样能做到。

             --ignore-crashes

    甚至,它还能生成profiling报告!

            --hprof

    还有更多的调试功能,见下表

    该表对monkey 的用法做了较清晰而翔实的描述。