一、monkey测试log 分析方式
1、monkey命令cmd页面可以直观的查看那块报错
监控 crash 与 ANR
adb shell am monitor
2、使用 adb logcat -d > D:logcat.txt 命令导出log,在LOG中搜索报错的关键字
二、monkey常见的几种错误
1、空指针异常(Null Pointer Exception)
ystem.err: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.startsWith(java.lang.String)' on a null object reference
05-14 08:15:40.541 23818 23901 W System.err: at com.xunlei.downloadlib.XLUtil.getNetWorkCarrier(XLUtil.java:727)
2、进程出现异常(android.process.acore)
CRASH: android.process.acore (pid 1339)
3、debug异常
注:debug异常主要是由于应用程序本身的错误导致的异常。在Monkey测试过程中,该信息同样记录在plog.log (locat中也有该信息)中。一般情况下,出现的该问题,很可能在手动测试时也可以测试到。
(1)、程序进入debug (com.android.browser该进程进入debug)
CRASH: com.android.browser (pid 5683)
(2)、传递的参数非法或被多次调用时出现的异常(IllegalStateException)
// Long Msg: java.lang.IllegalStateException: Connection is not open
4、低内存异常
低内存异常一般情况下,主要表现在出现OutOfMemoryError异常或者提示Out of memory,其后果同样表现为抛出OutOfMemoryError异常或者是通过kill process来杀掉部分进程以释放内存空间,当然如果被kill点关键的进程的话,也就可能导致部分应用会自动的退出。出现该情况时,主要是在进行频繁的进行大量的操作导致的,所以使用手动的方式也是可能进行重现的。
(1)、进程出现异常(com.android.elastos.backup)
// CRASH: com.android.elastos.backup (pid 1581)
(2)、OutOfMemoryError 异常
该异常一般多频繁的操作(即多次调用某个函数,存在申请变量空间未释放)导致的
// Long Msg: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
5、操作无响应异常
(1)、进程无响应(com.android.soundrecorder)
// NOT RESPONDING: com.android.soundrecorder (pid 1931)
ANR in process: com.android.soundrecorder (last in com.android.soundrecorder)
(2)、TimerOut异常
该异常一般出现时一般都会又keyDispatchingTimedOut提示
Annotation: keyDispatchingTimedOut
CPU usage:
Load: 8.24 / 8.41 / 8.25
6、其他异常
(1)、系统重新启动(Restart System)
(2)、RuntimeException等异常, 同样的会在plog.log中可以看到相应的打印信息,
java.lang.RuntimeException该问题多出现在操作无响应之后,或者是某应用的服务无法启动或连接时,需要具体问题具体的分析
(3)、StaleDataException、readException等异常,在plog.log中可以看到相应的打印信息
android.database.StaleDataException,该信息说明android的数据库操作出现异常,需要具体问题具体的分析