monkey测试步骤

2019-07-23  本文已影响0人  gz_tester

1. 保持手机和电脑连接状态

2. 获取需要测试的包名

image.png

3. 根据命令执行脚本,并输出报告

# 运行指定包,并输出报告
adb shell monkey  -p com.zhihu.android -v 100 > /Users/monkey/zhihu1.log

# 运行指定包,固定延迟300ms,触摸事件的百分比设置为50%,motion事件百分比设置为50%,输出两级报告到指定位置
adb shell monkey  -p com.zhihu.android --throttle 300 --pct-touch 50 --pct-motion 50 -v -v 1000 > /Users/monkey/zhihu2.log

# 运行指定包,设置相关事件信息,并忽略相关异常信息,输出测试报告
adb shell monkey -s 0001  -p com.sd.tongzhuo --throttle 250 --pct-touch 55 --pct-rotation 30 --pct-motion 15 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes --kill-process-after-error -v -v -v 10000 > /Users/monkey/0723_monkey_xiaomi_01.log

4. 检测adb logcat,并输出logcat报告

5. 日志分析

monkey日志报告

  1. monkey执行时未加--ignore-crashes --ignore-crashes参数,就先浏览日志中Events injected: 值,查看当前已执行的次数,就知道有无bug
  2. 程序无响应的问题:在日志中搜索 “ANR”
  3. 崩溃问题:在日志中搜索 “CRASH”
  4. 其他问题:在日志中搜索”Exception”

logcat日志报告

在logcat.log中搜索关键词GC,如果有下面四个中的一个,就可能存在内存泄露。
  1. GC_FOR_ALLOC, 因为在分配内存时内存丌够引发的
  2. GC_EXPLICIT, 表明GC被显式请求触发的,如System.gc调用
  3. GC_CONCURRENT, 表明GC在内存使用率达到一定的警戒值时,自动触发。
  4. GC_BEFORE_OOM, 表明在虚拟机抛出内存丌够异常OOM之前,执行最后一次回收内存垃圾
如果是ANR问题

搜索“ANR ”关键词(ANR后加个空格,屏蔽掉anr.log文件的无效信息) 。 快速定位到关键事件信息 。

如果是ForceClosed 和其它异常退出信息

搜索"Fatal" 关键词, 快速定位到关键事件信息 。
定位到关键事件信息后 , 如果信息不够明确的,再去搜索应用程序包的虚拟机信息 ,查看具体的进程和线程跟踪的日志,来定位到代码 。

参考文章:
monkey获取包名
Monkey命令
Monkey 测试日志讲解
Java 常见异常种类

上一篇 下一篇

猜你喜欢

热点阅读