monkey测试教程3—常用命令详解

1. 指定app测试

  Monkey是一个app稳定性测试工具,由于Monkey可以给app做很多次随机事件,所以Monkey也有时候当做app压测工具。
下面举例,Monkey给指定app做随机1000个事件,输入命令为:
命令格式:adb shell monkey -p com.android.calculator2 1000
monkey测试教程3—常用命令详解_第1张图片
  判断monkey是否执行成功的方法是比较Events injected的数量是否等于预设定的值,这里是1000,如果等于就表示测试完成。其中com.android.documentsui就是指定app的包名,获取想要测试app包名的方法有:
1)获取所有应用:adb shell pm list packages
2)获取系统应用:adb shell pm list packages -s
3)获取第三方应用:adb shell pm list packages -3

2. 事件测试

  Monkey是随机发送事件的。但是有时候我们只需要做一件事件,例如,我们只需要做点击事件,在app中,点击一般叫触摸,对应单词是touch。
1)只做100%的touch事件,下面的100表示百分比,100表示随机事件次数,添加-v参数可以查看到详细的日志信息;
命令格式:adb shell monkey -v -p com.android.calculator2 --pct-touch 100 10
monkey测试教程3—常用命令详解_第2张图片
  上面0表示touch事件,0到11表示不同事件类型,例如有旋转事件,轨迹球事件等等。
2)其他事件
monkey中包含事件有:
1—motion事件,不同的手势动作事件;
2—pinchzoom事件,二指缩放事件;
3—trackball 事件,轨迹球事件;
4—rotation—屏幕旋转事件;
5—permission事件;
6—基本导航事件,设备的上下左右四个方向的导航操作;
7—主导航事件,例如app的中间键,返回键,菜单按键
8—系统导航事件,主要是硬件设备的Home键,返回键和拨号键和音量键;
9—启动Activity事件,切换到不同Activity事件,可以设置这样事件的百分比;
10—flip事件,指的是键盘轻弹,点击文本框,键盘弹起,点击其他区域,键盘收起;
11—其他事件百分比设置,其他事件是指除了上面介绍的事件;
如果你需要设置两到三种事件,几种事件百分比一定要等于100,否则剩下的会自动分配到其他事件。举例触摸事件80%,手势事件20:
命令格式:adb shell monkey -v -p com.android.calculator2 --pct-touch 80 --pct-motion 20 10
monkey测试教程3—常用命令详解_第3张图片

3. 忽略崩溃和超时

  应用在操作过程中会存在崩溃、超时、异常等情况,导致monkey直接停止测试。忽略这些异常崩溃可继续执行,直到执行随机时间次数达到设定值。
1)–ignore-crashes 忽略崩溃
2)–ignore-timeouts 忽略超时
3)–ignore-security-exceptions 忽略安全异常

举例:一个相对比较常用的monkey测试指令。
命令格式:adb shell monkey -p com.android.calculator2 --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 100000 2> /sdcard/error.txt 1> /sdcard/info.txt
参数说明:
“ 2> /sdcard/error.txt”—表示错误信息输出到移动端/sdcard/error.txt。
“1> /sdcard//info.txt” —表示一般信息输出到移动端/sdcard//info.txt。

4.logcat导出日志

  在monkey测试中经常使用logcat命令导出日志到PC端,方便查看日志信息,定位问题,常用的命令有:

//格式1:打印默认日志数据
adb logcat 

//格式2:需要打印级别为Error的信息
adb logcat *:E

//格式3:需要打印时间和级别是Error的信息
adb logcat -v time *:E

//格式4:需要打印日志详细时间的简单数据
adb logcat -v time

//格式5:将日志保存到电脑固定的位置,比如D:\log.txt
adb logcat -v time >D:\log.txt

//清除日志信息:
adb logcat -c

  monkey测试出错的情况主要有三种:carsh崩溃,ANR无响应,还有monkey测试没有完成,异常中断,还有少数情况是因为移动设备关机或重启导致的测试失败。
一般的测试结果分析:

  • ANR问题:在日志中搜索“ANR”
  • 崩溃问题:在日志中搜索“Exception”? Force Close
  • 其他问题:在日志中搜索fatal/reboot/OOM等

你可能感兴趣的:(monkey测试)