Monkey :在adb shell中,生成用户或系统伪随机事件
MonkeyRunner:通过API定义特定命令和事件控制设备
monkeyScript:是一组可以被Monkey识别的命令集合,monkeyScript可以完成重复固定的操作
获取adb连接的虚拟机或真机: adb devices
>>>169.254.100.101:5555 device
获取APP包名:adb logcat | grep(findstr) START 先输入上面的命令,然后点击要启动的APP,adb 会输出一行数据,里面的cmp的值就是我们要的package和activity
获取进程ID:adb shell ps | grep package
安装APP:adb install ***.apk(windows系统中,切换到apk所在目录下执行此命令)
进入手机:adb shell
把脚本push到手机里:adb push 脚本名 手机文件夹位置
获取进程ID:adb shell ps | grep(findstr) package
-p 指定包发生随机事件次数:adb shell monkey -p package 1000
// activityResuming(com.android.contacts) 表示一个APP从前台进入后台然后又调回前台的过程
-v 显示所有执行的操作步骤:adb shell monkey -v -p package 1000
-s 指定随机生成数的seed值:adb shell monkey -p package -s 100(seed值,自己设定的) 50(事件数)
--throttle 指定事件之间的间隔时间:adb shell monkey -v -p package --throttle 1000(时间间隔)100(随机事件的次数)
--pct-touch 设定触摸事件百分比:adb shell monkey -p package --pct-touch 100(百分比) 50
--pct-motion设定动作事件百分比:adb shell monkey -p package -s --pct-motion 100(这个数值要和其它事件的和等于100) 50
如果不足100,其它的剩余百分比会随机分配到其它事件
--pct-trackball 设定轨迹球事件百分比:adb shell monkey --pct-trackball
--pct-nav 设定基本导航事件(输入设备的上、下、左、右)百分比:adb shell monkey --pct-nav
--pct-majornav 设定主要导航事件(兼容中间键、返回键、菜单键)百分比:adb shell monkey --pct-majornav
--pct-syskeys 设定系统导航事件(HOME、BACK、拨号及音量键)百分比:adb shell monkey --pct-syskeys
--pct-appswitch 设定启动Activity事件的百分比:adb shell monkey --pct-appswitch
--pct-anyevent 设定不常用事件百分比:adb shell monkey --pct-anyevent
忽略崩溃(CRASH)和异常:adb shell monkey --ignore-crashes
忽略超时(ANR)事件:adb shell monkey --ignore-timeouts
ANR:Application Not Responding(程序无响应)
ANR结果析取
1、安装可以引起ANR的APP
2、执行压力命令
3、析取ANR的Exception信息
如果出现ANR,可进入到手机,查看里面的文件
1、adb shell 进入手机
2、Cd /data/anr 切换到anr文件夹
3、Ls 一般会出现 .txt后缀的文件
4、More traces.txt 查看 .txt后缀的文件
如果出现anr,anr的信息会放在traces的最上面