Adb Monkey

Monkey 测试主要是为了测试Android程序的稳定性和健壮性,主要在app开发比较稳定后段时间才开始;

一、直接跑整个Android系统:

  这种情况比较少,一般不会用着这种命令开始,一般可能在公司以Android平台产品才会运用到,比如手机厂商、车机开发商、Android平板这类的公司

  adb shell monkey -v 日志等级 次数

  

  备注:日志等级,一般直接写-v-v-v就好,打印出最详细的日志信息

二、跑对应的app

  adb shell monkey -p 包名 -v-v-v 次数

  

三、复杂型

  

  

  参数解析:

      adb -s :当电脑连接多个设备时,需要用-s 来指定到对应的设备名,只连接一个手机设备时可以不用添加这个参数;

          

     --throttle:用户事件发生间隔毫秒,后面加的时间单位时毫秒,不加这个参数,那么monkey操作会以最快速度运行完成

    --pct-touch:触摸事件百分比,后面加100表示触摸事件为运行事件中占百分百,不添加这个参数的话,运行monkey命令,程序会有自动切换activity,各个页面,一般还是添加为好,更加模拟人为随意点击

    -s :设定seed编号,monkey测试时无序的,没人知道会点击、滑动到哪个位置,所以我们测试到问题后需要复现,那么这个seed 编号能帮助我们解进行复现问题;

      正常测试monkey流程:

                 1、自己设定一个seed,money命令写好;

                 2、将手机端app状态恢复到某个固定状态,比如杀掉apk进程、手机重启;apk重新打开到主页;

                 3、然后开始运行monkey命令,运行完后,重复步骤2操作,环境恢复,保障没有其他因素导致我们测试的结果在后续复现无法复现出来的尴尬

  

日志分析:

  日志我们可以在monkey命令后添加: >D:crash.log

  保存在d盘下,看个人情况,一般你可以按什么参数输入,当出现空指针、崩溃后,monkey命令会自动停止输出,也可以增加其他避开命令停止输出参数:

  .--ignore-timeouts ,忽略超时错误

  --ignore-crashes ,忽略crash

  --ignore-security-exceptions  忽略许可错误

  日志保存后打开搜索:ANR或者CRASH,将有这文字这端范围内日志发给开发去定位代码就好了

   

  

原文地址:https://www.cnblogs.com/fengliting/p/13642420.html