APP自动化学习笔记之一:monkey基本操作

Carly ·
更新时间:2024-09-21
· 645 次阅读

前提:搭建 Java的jdk和android的SDK环境,可参考http://www.cnblogs.com/sylovezp/p/3623588.html

monkey是安卓系统自带的,其启动脚本位于安卓系统的system/bin目录下的monkey文件

monkey是一个程序,运行在模拟器或设备上,并生成伪随机的用户事件流。如点击、触摸、手势,以及一些系统级事件,可以使用monkey事件以随机但可重复的事件对应用程序进行压力测试。

一、monkey启动与关闭  1.1 monkey启动步骤

1.连接移动设备:开启设备或虚拟机的USB调试模式后,连接电脑。

2.连接成功后,进入shell:

    adb shell 

3.进入monkey所在目录:

    cd system/bin

4.输入monkey命令,查看如下提示则说明启动成功。

     monkey

1.2 强制关闭进程monkey:

1.查看正在运行的进程:

    adb shell monkey

2.查找出pid:

   com.Android.commands.monkey的pid

3.关闭该进程pid:

    adb shell kill

二、monkey 命令格式:

    adb shell monkey [options] 

    (1) [options]: 非必填,代表可传入的参数。

  (2): 必填,指随机发送的时间次数。

三、monkey事件-随机事件流中包含11事件

    1.触摸事件:在键盘某处按下又抬起的操作。可通--pct-touch参数来配置其事件百分比。

        --pct-touch

    2.手势事件:在键盘某处的按下、随机移动、抬起的操作。

        --pct-motion

    3.二指缩放事件:在屏幕上两处同时按下,同时滑动,并同时抬起的操作。

        --pct-pinchzoom

    4.轨迹事件:由一个或几个随机的移动组成的,有时会伴随着点击,像很早的安卓手机带有的轨迹球,如果需要曲线滑动,可选该参数。

        --pct-trackball

    5.屏幕旋转事件:Android手机的横屏竖屏的切换。

        --pct-rotation

    6.基本导航事件:(现少用)较早设备上的上、下、左、右 实体按键。

        --pct-nav

    7.主要导航事件:(现少用)较早设备上的菜单、回退、中间键等实体按键。

        --pct-majornav

    8.系统按键事件:音量+-,Home键、返回键等实体按键。

        --pct-syskeys

    9.键盘事件:主要是与键盘相关的操作,点击输入框,键盘弹起;点击键盘以外区域,键盘关闭。

        --pct-flip

    10.启动Activity事件:在手机上启动一个activity的操作。

        --pct-appswitch

    11.其他事件

        --pct-anyevent

 四、monkey参数--monkey四大类参数 4.1 常规类参数

    常规类参数主要包括帮助参数和日志信息参数。

    1.帮助参数:-h

        $ adb shell monkey -h

    2.日志级别:-v

        $ adb shell -v -v -v

        -v打印出日志信息,-v越多信息越详细,一般使用到一级。

       

 

4.2 事件类参数

    事件类参数的作用是对随机事件进行调控,从而使其遵照设定运行。

    如设置时间的百分比,设置事件生成所使用的种子值。

    1. 执行指定脚本:-f

        $ adb shell monkey -f

     2. 伪随机数生成种子值:-s

        -s操作可以重复执行之前的伪随机操作。本身每次执行一次伪随机操作默认也会生成一个seed值。

    3. 设置间隔:--throttle  (注意--)

       --throttle后面接时间,单位为ms。表示在每个指令(事件)之间加上固定的时间间隔。

       $ adb shell monkey --throttle       

       eg:   $ adb shell monkey --throttle 3000  5

    4. 调整事件的百分比

       (1)调整触摸事件的百分比:

           --pct-touch

           $ adb shell monkey –pct-touch

       (2)调整手势事件百分比:

           --pct-motion

       (3)调整屏幕旋转事件百分比:

           --pct-rotation

       (4)调整应用启动事件的百分比:

           --pct-appswitch

           

4.3 约束类参数

    1.包约束:-p

      测试一个或多个包名,如果不指定包,monkey将允许系统启动全部包里的activity。

      注:每个-p后面接一个包名。

      $ adb shell monkey -p

    eg:

      如豌豆荚包名com.wandoujia.phoenix2

      $ adb shell monkey -p com.tal.kaoyan -p com.tencent.mm 500

    2.activity约束 :-c

       将monkey限制在一个或几个类中。

       $adb shell monkey

    eg:           

       以下表示运行Intent.CATEGORY_LAUNCHER类别的Activity并发送1000个随机事件。

       $ adb shell monkey -c Intent.CATEGORY_LAUNCHER  1000

4.4 调试类参数

    1.应用程序崩溃后,继续发送事件:

           --ignore-crashes

    2.超时错误后,继续发送事件:

           --ignore-timeouts

    3.应用程序权限错误后,继续发送事件:

           --ignore-security-exceptions


作者:qq_37697713



化学 学习笔记 学习 app

需要 登录 后方可回复, 如果你还没有账号请 注册新账号