1.monkeyMonkey 就是SDK中附带的一个工具,向系统发送伪随机的用户事件流,为了测试软件的稳定性、健壮性,验证app是否出现ANR or Crush
操作:
2.
adb devices 查看设备连接状态
adb shell 进入adb命令窗口
命令执行使用monkey -p 包名 -s 23 --throttle 2000 --ignore-crashes --ignore-timeouts -v -v -v 100000>/data/local/tmp/log.txt 2>&1 &
-p 指定被测包名,整机不需要加-p 包名 ***不指定 monkey 100;指定一个 monkey -p PackageName 100;指定多个monkey -p PackageName -p PackageName -p PackageName 100
-s 指定伪随机数生成器的seed值
--throttle 用于指定用户操作(即事件)间的时延,单位是毫秒
--ignore-crashes 使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成
--ignore-timeouts 使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成
--ignore-security-exceptions 使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成
-v 反馈信息级别(信息级别就是日志的详细程度),-v 说明缺省值,仅提供启动提示、测试完成和最终结果等少量信息;-v -v 说明提供较为详细的日志,包括每个发送到Activity的事件信息;-v -v -v 说明最详细的日志,包括了测试中选中/未选中的Activity信息
100000 点击的次数,单个应用程序这个次数设置在100000次就可以了;如果是整机,一般设置在500000次
/data/local/tmp/log.txt 测试的log记录在手机上/data/local/tmp/ 下面的log.txt里面,这个名字可以自己写;默认路径,可以不填写:如monkey -p 包名 -s 23 --throttle 2000 --ignore-crashes --ignore-timeouts -v -v -v 100000 2>&1 &
2>&1 固定的写法,代表的意思是中间忽略的日志一并输入到指定的文件中
参考:
https://www.php.cn/faq/470341.html
https://www.jianshu.com/p/4003221b7fe5/