monkey学习记录

    

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

今天抽空学习了一下monkey的使用,在这里记录一下:

    一.概念介绍

         1.monkey  发送伪随机事件的工具,这个手机自带

            monkeyRunner  对monkey 命令进行封装后的api

         2.测试结果有两个我们需要关注解决的

           crash 崩溃,app崩溃了

           ANR   app响应超时

   二.开始使用

         1.环境搭建

            Android sdk 添加到环境变量(Android 开发人员可以直接使用,早就配置好了)和https://www.Python.org/downloads/release/python-2712/下载python,并将安装路径添加到path环境变量(可以没有不影响跑Monkey,但是monkeyRunner有影响)

         2.确定手机和电脑连接 ,命令  adb devices  结果如下:

            List of devices attached
            xxxxx            device(说明已经连接好了)

         3.2将要测试apk安装到手机  adb install 包名   

            例如adb install  C:/Users/lenovo/Desktop/alices/camerademo/app-release.apk(全路径)

         4.压力测试   adb shell monkey 1000  monkey随机操作1000次  结果

             C:\Users\lenovo>adb shell monkey 1000
             // activityResuming(com.bbk.launcher2)
             // Injection Failed
             // activityResuming(com.bbk.launcher2)
             // Injection Failed
             // activityResuming(com.vivo.easyshare)
             // activityResuming(com.vivo.easyshare)
             Events injected: 1000 //说明1000次跑完了,没有任何错误出现

          5.获取app包名  adb logcat | grep start  没有找到此命令(adb logcat --help中没有),没关系,包名我们肯定都知道

          6.给指定的包进行压力测试  adb shell monkey -p package 10000

          7.指定指令之间的时间间隔  adb shell monkey --throttle 1000  1000   每个指令之间时间间隔为1s
              例如 adb shell monkey -p com.demo  --throttle 1000  1000 
          8.(bug复现方法)重复上次随机操作参数 seed参数  adb shell monkey -s 100 1000   参数为100
             例如 adb shell monkey -p com.demo  -s 100 --throttle 1000  1000 

          9.触摸事件参数 设定触摸事件百分比  adb shell monkey --pct-touch 50  参数为50,也就是说百分之五十的事件为触摸事件(可以使用adb shell monkey -help 看看其他参数事件)
            例如 adb shell monkey -p com.demo  --pct-touch 50 1000  百分之五十的事件为触摸事件

            其他参数如下:
 [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
      [-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]
      [--ignore-crashes] [--ignore-timeouts]//忽略崩溃  忽略ANR  即使出现了也会继续跑(这个一般都会加上的)
      [--ignore-security-exceptions]
      [--monitor-native-crashes] [--ignore-native-crashes]
      [--kill-process-after-error] [--hprof]
      [--pct-touch PERCENT] [--pct-motion PERCENT]//触摸事件百分比   动作事件比分比
      [--pct-trackball PERCENT] [--pct-syskeys PERCENT]//轨迹球事件百分比  系统事件百分比(back home 拨号键音量键)
      [--pct-nav PERCENT] [--pct-majornav PERCENT]//基本导航事件,输入设备的上下左右  主要导航事件,中间键返回键菜单按键
      [--pct-appswitch PERCENT] [--pct-flip PERCENT]//启动activity的事件  
      [--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT]//不常用事件
      [--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
      [--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
      [--wait-dbg] [--dbg-no-events]
      [--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
      [--port port]
      [-s SEED] [-v [-v] ...]
      [--sort-app-list]
 [--throttle MILLISEC] [--randomize-throttle]
      [--profile-wait MILLISEC]
      [--device-sleep-time MILLISEC]
      [--randomize-script]
      [--script-log]
      [--bugreport]
      [--periodic-bugreport]
      [--delay-appswitch MILLISEC]
      [--launch-app-after-launcher
      [--launch-app-after-app MILLISEC PACKAGE_NAME CLASS_NAME]

      10.查看anr
       adb shell 进入手机-->cd /data/anr/   ---->ls  ---->more traces.txt  就可以查看了,里面记录了所有应用的anr信息

       11.android studio 的terminal 下执行命令并且将测试结果保存到指定文件下:

             例如:adb shell monkey -p com.hawk.android.hicamera -s 100 --ignore-crashes --ignore-timeouts  1000000 >c:\Users\lenovo\Desktop\alice\testlog.txt  (好了,我们可以吃饭去了,回来测试结果就可以在文件中查看了)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值