Monkey 在开发中非常常见,本篇主要梳理monkey 测试相关知识点。主要包括以下内容:
一、Android 整机 monkey 测试方法
Android 整机测试需要忽略 crash timeout security-exceptions等导致的monkey测试中断,并将Log 保存到指定文件中。
比如我要模拟99999 次点击事件,并将测试log保存到monkey_log.txt中,可以使用以下方法:
adb shell monkey --ignore-crashes --ignore-timeouts --ignore-security-exceptions --throttle 100 -v 99999 > monkey_log.txt
二、App monkey 测试方法
执行app测试,如遇到crash会打印出crash信息,方便我们解决crash。
adb shell monkey -p com.qiyi.video(要测试app的包名) 999999
忽略Crash ANR 、安全异常等测试方法。
比如我要模拟99999 次爱奇艺app的点击事件,并将测试log保存到aiqiyi_log.txt中,可以使用以下方法:
adb shell monkey -p com.qiyi.video(要测试app的包名) --ignore-crashes --ignore-timeouts --ignore-security-exceptions --throttle 100 -v 99999 > aiqiyi_log.txt
三、判断Monkey 测试方法
判断 Monkey 测试是否正在运行,我们可以使用以下方法:
/**
* Returns true if Monkey is running.
*/
public static boolean isMonkeyRunning() {
return ActivityManager.isUserAMonkey();
}
四、停止monkey测试的方法
1.查看monkey进程,然后kill掉
查看手机monkey进程的命令adb shell ps |findstr monkey, 通过稍等进程 id( adb shell kill -9 18333(monkey进程ID)),实现停止monkey测试,适用于debug版本。
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
停止monkey 测试的方法
2.重启手机
此种方案简单暴力,原理也是杀掉monkey 进程,适用于user版本。
五、Monkey 命令使用手册
monkey 使用参数命令帮助手册命令如下:adb shell monkey -help
Monkey 参数使用手册
-v 表示Log信息登记
--throttle 表示毫秒数
-s 表示发送随机数种子
-p 表示测试Monkey app 包名
monkey 部分参数
六、Monkey Crash Log 分析
在抓取的adb log中,使用文本编辑器(建议使用Notepad++,匹配大小写)打开,搜索一下关键字 CRASH:
Monkey log 分析举例
七、Monkey ANR Log 分析
在抓取的adb log中,使用文本编辑器(建议使用Notepad++,匹配大小写)打开,
搜索一下关键字 ANR in 或 者 NOT RESPONDING。
ANR Log 分析
如有ANR还需要将 data/anr 下的trace 文件pull 出来辅助分析ANR原因。
1.导出ANR 文件的命令如下:
adb pull data/anr .
导出 ANR 文件
八、Monkey 测试中关机Log 分析
Monkey 测试过程中关机可以先从以下方法入手。
1.搜索关键字battery_level 查看电池电量。
通过次关键字可以在events_log 中查看关机时候的电池电量信息、电池电压信息、电池温度信息。
电池相关信息
九、Monkey 运行机制
因为Android 系统中已经将monkey.jar打包到 system/framework/中 ,故monkey命令可以在手机上直接运行。
1.monkey.jar 后台支持
monkey jar 包文件
手机 monkey jar包存放路径
2.手机中monkey bin 文件的支持
执行monkey命令的脚本存放地址在system/bin目录下,通过此脚本,既可以开始执行monkey 相关的命令测试。
monkey 脚本
手机monkey命令脚本存放地址
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
作者:程序员Android1
链接:https://www.jianshu.com/p/df7edeb1a8ea
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。