monkey测试

一、Monkey是什么?

    Monkey是发送伪随机用户事件的工具流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。

 

二、Monkey在哪里?

  每一台android手机里面都有Monkey工具,但是我们是看不到的,因为它不是一个可视化的工具。它不像wechat是可视化的,能打开,能执行用户操作,有图形界面,Monkey没有。

 

三、如何与Monkey进行通讯?

    我们需要借助ADB(Android Debug Bridge),安卓调试桥。

四、环境搭建:

  第一个前提条件就是安装java jdk;

  第二个条件就是安装android sdk。jdk大家都应该知道怎么安装,同样道理android sdk(Software development kit)android专属软件开发工具包。

五、monkey的操作APP的步骤

  1,先调用adb命令查看当前的包名

    命令是:Windows环境的命令:     adb shell dumpsys window | findstr mCurrentFocus

        mac环境下的命令:  adb shell dumpsys window | grep mCurrentFocus     

  2,使用安卓调试桥调用monkey对移动端的APP进行操作

    adb shell monkey -p 包名 -s 100 -v -v -v 100   

    说明:

      。adb shell monkey [options]   这个是monkey的基本语法

       如果不指定options,那么monkey将会以无反馈模式启动,并把时间任意发送到安装在目标环境中的全部包。

    

      。-p 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。

       指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP

       

      。-s 用于指定伪随机数生成器的seed值,指定seed值是为了发生错误的时候,可以通过相同的seed值让这个错误复现,一般都要求每次启动monkey

         的时候都要指定seed值

      

      。-v 是用于指定反馈信息的级别(就是日志的详细程度)

          总共有三个级别,-v是level0 只提供提示、测试完成和最终结果等少量信息,

       -v -v 是level1 级别,提供较为详细的日志,包括每隔发送到activity的时间信息,

       -v -v -v 是level2 级别,最高级别 ,提供最详细的信息,包括测试中选中/未选中的activity信息

      。最后的数字,是你想monkey操作的次数,100就是要monkey操作100次

   4、monkey的其他用法

    --throttle <毫秒>

    用于指定monkey 每个操作动作的等待时间,相当于Python的time.sleep(秒),只是单位不同,前者是用毫秒,后者用秒

    代码如下:

      adb shell -p 包名 -s 100 -v -v -v --throttle 1000  100 

   ------后面有空的话会继续更新

posted @ 2020-04-23 00:29  zhongxt  阅读(187)  评论(0编辑  收藏  举报