玩转Android monkey之多参数实战

monkey设置间隔时间shell


参数throttle用来控制执行速度,若是不加咱们经过上次的执行发现速度比较快,也看不清。app

语法:adb shell monkey -p 包名 --throttle 设置每次随机事件的时间间隔ide

(毫秒)随机事件次数spa

moneky seed种子orm


seed种子是干吗的呢?很好理解,若是你想使得两次命令的执行轨迹同样,那就加上这个参数。好比,第一次你使用发现了一个bug,如今想重现一下,若是不加seed就是随机的,可能没法重现,加上seed就能够了。blog

PS:每次执行时初始界面要一致事件

语法:adb shell monkey -p 包名 --throttle 执行速度 -s seed种子 随机事件数ip

monkey指定某个动做开发


若是想使用monkey命令来作某一个动做,而不是N个动做混杂的,那就要经过参数来指定ta的动做,好比--pct-touch点击(触摸)动做。it

语法:adb shell monkey -v -p 包名 --pct-touch 执行touch动做的百分比 随机事件次数

其中-v表明查看详细的结果,咱们能够看到0表明touch百分比为100%执行,其他为0%。

思考:若是不加--pct-touch执行该命令会是什么样的结果呢?

这里你们可能会问到1-10表明啥呢?其实表明的是不一样的操做动做,这里来list一下:

1:手势 --pct-motion

2:缩放 --pct-pinchzoom

3:轨迹球 --pct-trackball

4:屏幕旋转 --pct-rotation

5:基本导航事件,好比手机上的上、下、左、右的操做 --pct-nav

6:主导航事件,好比返回键、菜单键 --pct-majornav

7:系统导航事件,好比手机上的home键、拨号键、音量键等 --pct-syskeys

8:切换activity --pct-appswitch

9: 键盘翻转事件,举个场景就知道了,相似点击输入框,键盘弹起,点击其余区域,键盘收起 --pct-flip

10:其余事件 --pct-anyevent

monkey忽略崩溃和超时


为何要有着两个参数呢?很简单,咱们在使用app的时候常常会出现超时、卡死的情况,一旦出现这样的状况,monkey是不知道怎么办的!因此,须要咱们给他指令才行, 通常就是给两个参数,忽略超时和忽略崩溃。

l 忽略超时参数:--ignore-timeouts

l 忽略崩溃(异常)参数:--ignore-crashes

语法:adb shell monkey -v -p 包名 --pct-touch 100 --ignore-timeouts --ignore-crashes 随机事件次数

PS:在实际操做过程当中除了上述两种状况外,可能还会出现ANR的问题,若是出现那就要找到对应的log,而后交给开发去解决

相关文章
相关标签/搜索