玩转Android monkey之多参数实战

2018-02-09 15:08:00
大管家
原创 819 投稿得红包

monkey设置间隔时间


参数throttle用来控制执行速度,如果不加我们通过上次的执行发现速度比较快,也看不清。

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

(毫秒)随机事件次数

moneky seed种子


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

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

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

monkey指定某个动作


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

语法: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,然后交给开发去解决

技术交流QQ群 229390571 测试帮日记接口测试群

电影下载QQ群 533341883 XQ电影下载圈