本文共 3755 字,大约阅读时间需要 12 分钟。
monkey作为客户端常用的稳定性测试工具,常用的参数及其用法是怎样的呢?接下来我们一起。
大家最希望知道的当时是monkey都有哪些命令参数,这些命令参数都是什么用处,这个时候我们就可以使用-h,来查看help文档。
运行如下命令:
adb shell monkey -h
运行结果如图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0VnfRwp1-1604026780338)(https://b3logfile.com/file/2020/10/monkey-4f8aa0e5.png)]
我们从图中可以看出monkey命令中的参数和作用
程序在运行是都希望可以看到运行的日志,而且在我们不了解的情况下最好日志越详细越好,对于monkey而言,只需要在monkey命令后面跟上-v参数即可打印日志信息
adb shell monkey -v
-v:打印日志信息,每个-v将增加反馈信息的级别。-v越多日志信息越详细,不过目前最多支持3个。即:
adb shell monkey -v -v -v 100
注:100为100个随机事件
-p参数后面接一个或多个包名,如果应用需要访问其他包里面的Activity,那相关的包名也需要再在此同时指定。如果不指定任何包,monkey将允许系统启动全部包里面的activity。每一个-p对应一个包(指定多个包时每个包名前面都需要加上-p),如:
adb shell monkey -p-p 100
-c:后面接一个或者多个类别名(即参数),monkey将只允许系统启动这些类别中某个类别列出的Activity。每个-c对应一个类别(指定多个类别时需要在每个类别前加上-c)
adb shell monkey -c-c 100
-f:后接测试脚本命,标识要使用monkey运行指定的monkey脚本
adb shell monkey -f
执行命令如下:
adb shell monkey -f /sdcard/test 1
注意:这里的1为循环次数,而非事件数
-s:后接随机数生成器的seed值
adb shell monkey -s
好处:如果相同的seed值再次运行monkey,将会生成相同的事件序列(也就是重复执行刚才的随机操作)
–throttle:后面接时间,单位为:ms,表示事件之间的固定延迟(执行每一个指令间隔的时间),若不接,monkey将不会延迟
adb shell monkey --throttle
–pct-touch:后面接触摸事件百分比(触摸事件就泛指发生在一个位置的一个down-up)
adb shell monkey --pct-touch
–pct-motion:后面接动作事件的百分比(动作事件泛指从某一位置按下(即down事件)后结果一系列的伪随机事件后弹起(即up事件))
adb shell monkey --pct-motion
–pct-trackball:后接轨迹球事件百分比(轨迹球事件包括一系列的随机移动,以及偶尔跟随在移动后面的点击事件)
adb shell monkey --pct-trackball
–pct-nav:后接基本导航事件百分比(基本导航时间主要指来自方向输入设备的上、下、左、右事件)
adb shell monkey --pct-nav
–pct-majornav:后面接主要导航事件百分比(主要导航事件通常指引发图形界面的一些动作,如返回按钮键,菜单按键等)
adb shell monkey --pct-majornav
–pct-syskeys:后接系统按键事件百分比(系统按键事件通常指仅供系统使用的保留按键,如home键,back键,音量键等)
adb shell monkey --pct-syskeys
–pct-appswitch:后面接应用启动事件百分比(应用启动事件俗称打开应用,通过调用startactivity方法最大限度的开启package下的所有应用)
adb shell monkey --pct-appswitch
–pct-anyevent:后接其他类型事件百分比(其他类型包含除上面提到的事件外的所有事件,如keypress,不常用的button等)
adb shell monkey --pct-anyevent
–dbg-no-events:在设置此选项后,monkey将进行初始启动,进入到某个测试Activity中部不会进行进一步生成事件。
提示:为了更好的跟踪,一般该选项与-v、-p和–throttle等联合使用,从而提供一个可监视应用程序所调用包之间转换的环境
adb shell monkey --dbg-no-events
–hprof:在设置此选项后,将在monkey事件序列前后立即生成profiling report
提示:该选项将在、data/misc中生成文件
adb shell monkey --hprof
–ignore-crashes:在设置此选项后,当应用程序崩溃或发生失控异常时,monkey将继续运行直到计数完成。如果不设置此选项,monkey遇到上述崩溃或异常将停止运行
adb shell monkey --ignore-crashes
–ignore-timeouts:在设置此选项后,当程序发生任何超时错误(如ANP)时,monkey将继续运行直到计数完成。如果不设置此选项,monkey遇到此类超时对话框将停止运行。
adb shell monkey --ignore-timeouts
–ignore-security-exceptions:在设置此选项后,当应用程序发生任何权限错误(如启动需要某些权限的activity)时,monkey将继续运行直到计数完成。如果不设置此选项,monkey遇到此类权限错误将停止运行。
adb shell monkey --ignore-security-exceptions
–kill-process-after-error:在设置此选项后,当monkey因为应用程序发生错误而停止时,将会通知系统停止发生错误的进程。如果不设置此选项,在monkey停止时发生错误的应用程序将继续处于运行状态
adb shell monkey --kill-process-after-error
–monitor-native-crashes:在设置此选项后,monkey运行native code的崩溃事件将被监视并报告。如果不设置此选项,将不会监视此类事件。
注意:如果此时还设置了–kill-process-after-error命令,此类(system native code)系统也将停止运行
adb shell monkey --monitor-native-crashes
–waot-dbg:在设置此选项后,将暂停执行中的monkey,直到有调试器与它连接。
adb shell monkey --waot-dbg
当然,常用参数远不止这么多,monkey常用参数见:
在使用过程中大多时候都是多种参数组合使用,后面就看大家自己的发挥了!
转载地址:http://danli.baihongyu.com/