Monkey的11种随机事件
📅 2025-08-07 02:57:27
✍️ admin
👁️ 9403
365完美体育
1、触摸事件:--pct-touch ,指定触摸事件百分比。触摸事件指的是在屏幕某处按下并抬起的操作,我们可以模拟点击的操作。例如adb shell monkey -p com.dsl.newwiki -v --pct-touch 50 100:
图1 触摸事件
2、滑动事件:--pct-motion ,指定滑动事件百分比。滑动事件指的是在屏幕某处按下、随机移动、抬起的操作,类似我们滑动手机屏幕翻页的操作。例如adb shell monkey -p com.dsl.newwiki -v --pct-motion 50 100:
图2 滑动事件
3、缩放事件:--pct-pinchzoom ,指定缩放事件百分比。缩放事件指的是在屏幕上的两处同时按下,又同时移动,最后同时抬起,模拟我们在手机放大缩小的操作。例如adb shell monkey -p com.dsl.newwiki -v --pct-pinchzoom 50 100:
图3 缩放事件
4、轨迹球事件:--pct-trackball ,指定轨迹球事件百分比。轨迹球事件指的是由一个或者多个随机的移动组成,有时会伴随点击。如果被测APP需要曲线滑动才需要指定该事件的百分比。例如adb shell monkey -p com.dsl.newwiki -v --pct-trackball 50 100:
图4 轨迹球事件
5、屏幕旋转事件:--pct-rotation ,指定屏幕旋转事件百分比。我们可以模拟手机的横竖屏切换,degree指的是旋转方向,顺时针旋转,0表示旋转90°,1表示旋转180°,2表示旋转270°,3表示旋转360°。例如adb shell monkey -p com.dsl.newwiki -v --pct-rotation 50 100:
图5 屏幕旋转事件
6、基本导航事件:--pct-nav ,指定基本导航事件百分比。基本导航事件指的是点击方向输入设备的上下左右按键的操作,现在的手机很少有这样的方向键了,所以应用较少。
7、主要导航事件:--pct-majornav ,指定主要导航事件百分比。主要导航事件指的是点击“主要导航”按键的操作,例如app的中间键,返回键,菜单按键等。例如adb shell monkey -p com.dsl.newwiki -v --pct-majornav 50 100:
图6 主要导航事件
8、系统按键事件:--pct-syskeys ,指定系统按键百分比。系统按键指的是系统保留的按键事件,比如Home键、返回键、音量调节按键等。例如adb shell monkey -p com.dsl.newwiki -v --pct-syskeys 50 100:
图7 系统按键事件
9、切换Activity事件:--pct-appswitch ,指定切换Activity事件百分比。切换Activity指的是在手机上启动一个Activity的操作,在随机的时间间隔内, Monkey 将执行一个 startActivity() 方法, 作为最大程度上覆盖被测包中全部 Activity 的一种方法。 如果该事件比例偏低,我们会看到大部分时间的测试都停留在同一个页面上,所以我们可以适当设置该事件的比例。例如adb shell monkey -p com.dsl.newwiki -v --pct-appswitch 50 100:
图8 切换Activity事件
10、键盘事件:--pct-flip ,指定键盘事件百分比。键盘事件指的是一些与键盘相关的操作,比如点击输入框、键盘弹起等。例如adb shell monkey -p com.dsl.newwiki -v --pct-flip 50 100:
图9 键盘事件
11、其他类型事件:--pct-anyevent ,指定其他类型事件百分比。其他类型事件指的是除了上述事件之外的其他事件,比如其它不常用的设备按钮等。
一般情况下,我们不用修改上述事件的百分比。如果APP操作触摸事件和滑动事件比较频繁,我们可以提高这两种事件的百分比,但是总量加起来不能大于100。例如adb shell monkey -p com.dsl.newwiki -v --pct-touch 40 --pct-motion 40 100:
图10 触摸事件和滑动事件