我是靠谱客的博主 天真衬衫,最近开发中收集的这篇文章主要介绍安卓APP稳定性测试-----monkey,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

      稳定性测试:通过在主流真机终端上,模拟真人对App的操作行为,支持自动登陆、运行时间可配置,有效点击覆盖更全更深,从而发现程序的Crash及ANR,一般使用monkey对应用程序进行稳定性测试。

      monkey:Android SDK自带的命令行测试工具,向设备发送伪随机事件流,可以在模拟器里或实际设备中运行,它向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等,实现对正在开发的应用程序进行压力测试。

优势

  1. 脱离Case的依赖
  2. 可封装自动化执行
  3. 可封装后作为客户端性能测试的驱动

缺点

  1. 完全随机,不可控
  2. 不支持IOS系统

monkey测试步骤:

  1. Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar;Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中存放路径是:/system/bin/monkey;
  2. 通过在CMD窗口中执行: adb shell monkey{+命令参数}来进行Monkey测试;
  3. 基本的命令如下:
    $ adb shell monkey [options] <event-count>
    //options
    $ adb shell monkey -p your.package.name -v 500
    //举例:向指定包发送500个伪随机事件
    $ adb shell monkey --ptc-touch
    //触摸事件百分比
    $ adb shell monkey --ptc-motion
    //动作事件百分比
    $ adb shell monkey --ptc-trackball
    //轨迹球事件百分比
    $ adb shell monkey --ptc-nav
    //基本导航事件百分比
    $ adb shell monkey --ptc-majornav
    //主导航事件百分比
    $ adb shell monkey --ptc-syskeys
    //按键事件百分比
    $ adb shell monkey --ptc-appswitch
    //启动时间百分比
    $ adb shell monkey --ptc-anyevent
    //其他类型事件的百分比,包括keypress、不常用button以及其他未提及事件

     

monkey注入事件机制:

  1. Monkey注入系统事件是通过framework层的hidenApi获取系统服务;
  2. 触摸事件:包括屏幕以及物理键的触摸,滑动,点击事件,Monkey通过InputManager.getInstance().injectInputEvent(keyEvent, int);构造对应的事件,然后调用该接口执行事件;
  3. 调用Android系统组件的事件,Monkey通过IActivityManager实例来获取activity的系统服务,从而启动某个activity;
  4. window事件:指操作Window的事件,Monkey通过获取IWindowManager实例开启系统窗口服务,并执行窗口事件;

monkey的组织结构

  • Monkey的核心类是Monkey.java,MonkeyEventSource.java,MonkeyEvent.java

最后

以上就是天真衬衫为你收集整理的安卓APP稳定性测试-----monkey的全部内容,希望文章能够帮你解决安卓APP稳定性测试-----monkey所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部