Android Framework 框架测试之 Monkey

640?wx_fmt=gif

640?wx_fmt=gif

极力推荐Android 开发大总结文章:欢迎收藏程序员Android 力荐 ,Android 开发者需要的必备技能

640?wx_fmt=jpeg

Monkey 在开发中非常常见,本篇主要梳理monkey 测试相关知识点。主要包括以下内容

  1. 整机 monkey 测试命令

  2. app monkey 测试命令

  3. 判断Monkey 测试方法

  4. 停止monkey的方法

  5. Monkey 使用手册

  6. Monkey Crash Log 分析

  7. Monkey ANR Log 分析

  8. Monkey 运行机制

1. 整机 monkey 测试命令

整机 测试 忽略 crash timeout security-exceptions等导致的monkey测试中断,并将Log保存到指定文件中。

adb shell monkey --ignore-crashes --ignore-timeouts --ignore-security-exceptions --throttle 100 -v 999999999 > monkey_log.txt

2. app monkey 测试命令

执行app测试,如遇到crash会打印出crash信息,方便我们解决crashadb shell -p com.qiyi.video(要测试app的包名) 999999

3. 判断Monkey 测试方法

   /**
    * Returns true if Monkey is running.
    */
   public static boolean isMonkeyRunning() {       return ActivityManager.isUserAMonkey();
   }

4. 停止monkey的方法

  • a.通过查看进程,然后killmonkey进程monkey进程的命令adb shell ps |findstr monkey, 通过稍等进程 id( adb shell kill -9 18333(monkey进程ID)),实现停止monkey测试。

C:\Users\Administrator>adb shell ps |findstr monkey
shell     18333 273   1627720 34672 binder_thr 759b3b8884 S com.android.commands.monkey

C:\Users\Administrator>adb shell kill -9 18333

640?wx_fmt=png

停止monkey 测试的方法

  • b. 重启手机

此种方案简单暴力。

5. Monkey 使用手册

monkey 使用参数命令帮助手册命令如下:adb shell monkey -help

640?wx_fmt=png

Monkey 参数使用手册

  • -v 表示Log信息登记

  • --throttle 表示毫秒数

  • -s 表示发送随机数种子

  • -p 表示测试Monkey app 包名

640?wx_fmt=png

monkey 部分参数

6 .Monkey Crash Log 分析

在抓取的adb log中,使用文本编辑器(建议使用Notepad++,匹配大小写)打开,

搜索一下关键字 CRASH:

640?wx_fmt=png

Monkey log 分析举例

7 .Monkey ANR Log 分析

在抓取的adb log中,使用文本编辑器(建议使用Notepad++,匹配大小写)打开,

搜索一下关键字 ANR in 或 者 NOT RESPONDING

640?wx_fmt=png

ANR Log 分析

如有ANR还需要将 data/anr 下的trace 文件pull 出来辅助分析ANR原因。

导出ANR 文件的命令如下:adb pull data/anr .

640?wx_fmt=png

导出 ANR 文件

8.Monkey 运行机制

因为系统中已经将monkey.jar打包到 system/framework/中 ,故monkey命令可以在手机上直接运行。

640?wx_fmt=png

monkey jar 包文件

640?wx_fmt=png

手机 monkey jar包存放路径

执行monkey命令的脚本存放地址在system/bin目录下,通过此脚本,既可以开始执行monkey 相关的命令测试。

640?wx_fmt=png

monkey 脚本

640?wx_fmt=png

手机monkey命令脚本存放地址

640?wx_fmt=jpeg

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

640?wx_fmt=jpeg

如有侵权,请联系小编,小编对此深感抱歉,届时小编会删除文章,立即停止侵权行为,请您多多包涵。640?wx_fmt=other

既然都看到这里,领两个红包在走吧!以下两个红包每天都可以领取

1.支付宝搜索 522398497,或扫码支付宝红包海报。

支付宝扫一扫,每天领取大红包

2.微信红包,微信扫一扫即可领取红包

微信扫一扫,每天领取微信红包

小礼物走一走,来简书关注我

posted @ 2018-12-12 09:13  程序员Android的博客  阅读(159)  评论(0编辑  收藏  举报