51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2299|回复: 0
打印 上一主题 下一主题

Monkey工具的使用

[复制链接]
  • TA的每日心情
    奋斗
    2021-8-16 14:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2019-3-20 16:22:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1、Monkey是什么

          Monkey是可以运行在模拟器或者终端设备上的一款程序,它可以生产用户随机事件流,比如说点击、触摸、手势以及系统级别事件。

          可以运行在终端或者模拟器上的命令行工具,通过对系统注入用户事件的随机流是来对开发中的应用进行压力测试。



    2、Monkey能干什么

          你可以使用Monkey来对你开发中的应用进行压力测试,随机、可重复。

          Monkey包含一系列选项,但主要包括以下四个方面:

         a.基础配置选项,比如设置注入事件的数量

         b.备选限制,比如限制测试但个包

         c.事件类型和频率

         d.调试选项

         在monkey运行中,它生成事件并发送给系统。它同时监控压测下系统表现并对以下三种情况进行特殊处理:

         a.在你限制运行monkey在指定的一个或者多个包时,它会尝试忽视或者屏蔽其他包

         b.如果你的应用崩溃或者接收到一些未处理的异常,monkey会停止并报告错误

         c.如果你的应用产生应用没有相应的错误,monkey将停止并报告错误

         依赖设置的日志级别,可以看到monkey的进展和生成事件的报告。



    3、adb的常用命令

        在开发机器上通过使用命令行工具或者脚本运行Monkey。因为Monkey运行在模拟器或者终端环境中,你必须在该环境局下通过shell来登入。

        可以输入adb shell 命令行。或者进入shell环境,直接输入monkey命令;

        基础语法:

        $adb shell monkey [option] <event-count>

        不指定任何选项,monkey将默认静态模式,并且将向你目标设备上的所有包发送事件。以下是典型应用的示例:

        $adb shell monkey -p package.name -v 500    向指定包名为package.name的应用发送500次事件请求


        比如:包名为com.zillion.academy的包,发送8000次请求   


    4、命令介绍

        -help 帮助文档

      -v 日志级别


        -v 默认设置,提供一些启动、测试完成以及最终结果的信息


        -v -v 提供更详细的运行测试信息,比如发送activity的事件


        -v -v -v提供关于安装等更为详尽的信息,比如测试中已选中或者未选中的activity


        事件类:


        -s 随机事件生成器的种子值,如果使用相同的seed值重新运行monkey,它将生成相同的事件序列


        比如:


        adb shell monkey -s 1504586907357  -p com.zillion.academy  -v 100

    --throttle 事件间隔(延迟)


       事件之间插入的固定延迟,用着设置放缓monkey注入事件的速度;默认不指定,事件生成将以尽可能快的速度进行。


       比如:


       adb shell monkey -p com.zillion.acedamy --throttle 10 -v -v  100

    --pct-touch 调整touch事件的比例


    --pct-motion 调整移动事件的比例


    --pct-trackball 调整滑动事件的比例


    --pct-nav 调整基础导航事件的比例,上下左右


    --pct-majornav 菜单,返回等事件


    --pct-syskeys 系统按键时间比例(Home,Back,Start Call,End Call,Volume controls)


    --pct-appswitch activity时间切换,尽可能覆盖包里所有的activity


    --pct-anyevent 调整其他时间比例,比如很少使用的keypress等事件


    比如:


    adb shell monkey -p com.zillion.academy --pct--touch 10 --pct-trackball 30 --pct-anyevent 20 -v -v 100

    -p 指定包名

    debug类的还没用到过,后续如有必要另行补充。


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-21 03:32 , Processed in 0.064402 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表