Android Monkey 测试分析


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

Monkey 在开发中非常常见,本篇主要梳理 monkey 测试相关知识点。主要包括以下内容
- 整机 monkey 测试命令
- app monkey 测试命令
- 判断Monkey 测试方法
- 停止monkey的方法
- Monkey 使用手册
- Monkey Crash Log 分析
- Monkey ANR Log 分析
- Monkey 测试中关机
- 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 信息,方便我们解决crash。
adb shell monkey -p com.qiyi.video(要测试app的包名) 999999
忽略Crash ANR 、安全异常等测试方法。
adb shell monkey -p com.qiyi.video(要测试app的包名) --ignore-crashes --ignore-timeouts --ignore-security-exceptions --throttle 100 -v 999999999 > monkey_log.txt
3. 判断Monkey 测试方法
/**
* Returns true if Monkey is running.
*/
public static boolean isMonkeyRunning() {
return ActivityManager.isUserAMonkey();
}
4. 停止monkey的方法
- a.通过查看进程,然后
kill掉monkey进程
查看手机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

- b. 重启手机
此种方案简单暴力。
5. Monkey 使用手册
monkey 使用参数命令帮助手册命令如下:adb shell monkey -help

-
-v表示Log信息登记 -
--throttle表示毫秒数 -
-s表示发送随机数种子 -
-p表示测试Monkey app包名

6 .Monkey Crash Log 分析
在抓取的adb log中,使用文本编辑器(建议使用Notepad++,匹配大小写 )打开,
搜索一下关键字 CRASH:

7 .Monkey ANR Log 分析
在抓取的adb log中,使用文本编辑器(建议使用Notepad++,匹配大小写 )打开,
搜索一下关键字 ANR in 或 者 NOT RESPONDING

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

8.Monkey 测试中关机
Monkey 测试过程中关机可以先从以下方法入手。
1.搜索关键字battery_level 查看电池电量。
通过次关键字可以在events_log 中查看关机时候的电池电量信息、电池电压信息、电池温度信息。

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


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



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


浙公网安备 33010602011771号