Monkey进行稳定性测试你还不会吗?速度来get技术!
在移动端自动化测试领域,有这样的一只”Monkey”,它一旦被执行,就会让被测的移动端应用程序像猴子一样随意乱跳,测试人员通常利用这只“Monkey”来对应用程序进行压力测试,从而评估和检查被测程序的稳定性。
Monkey命令的启动脚本是安卓系统的System路径下bin目录中,用户主要是通过adb相关的命令启动Monkey来进行操作。Monkey命令在执行时,会结合搭配的参数,生成不同的伪随机事件流,而且也会在移动设备上执行对应的测试事件操作。Monkey在进行稳定性测试过程中,如果被测程序崩溃或出现异常、发生了ANR,也就是程序未响应,Monkey会把相关的信息记录对应的日志,并判断测试过程是继续运行还是停止运行。按照参数中指定的级别反馈,在Monkey操作中还可以看到执行过程中产生的报告和生成的事件信息。
Monkey对手机App进行稳定性测试时,会通过11大事件来模拟用户的常规操作,但是这些事件在执行过程中都会充满随机性,主要有手势事件、触摸事件、屏幕旋转事件、键盘事件、二指缩放事件、系统按键事件、轨迹事件、基本导航事件、主要导航事件、启动Activity事件、其他类型方面的事件。
(图片来源于网络,如有侵权,请联系删之)
手势事件比较常见,模拟用户在手机屏幕的某一处的按下、抬起、任意移动等操作,Monkey命令可结合--pct-motion参数来配置该事件百分比。触摸事件,有点类似于在手机上进行点击的操作,模拟用户在屏幕的某一处按下并抬起的操作,Monkey命令可结合--pct-touch参数来配置其事件百分比。屏幕旋转事件也比较常见,就是用来模拟用户手机的横屏和竖屏切换,它算是一个隐藏事件,因为在官方文档中并没有太多的说明。Monkey命令可结合--pct-rotation参数来配置其事件百分比。键盘事件主要集中在使用键盘产生的相关操作,比如点击输入框、键盘弹起与收回等。Monkey命令可结合--pct-flip参数来配置其事件百分比。二指缩放事件就是用户在手机屏幕上进行放大缩小手势操作。Monkey命令可结合--pct-pinchzoom参数来配置其事件百分比。系统按键事件,主要是指点击系统自带的使用按键,比如点击返回键、音量调节键等。Monkey命令可结合--pct-syskeys参数来配置其事件百分比。轨迹事件,现在看来几乎是没有的,这个事件就是模拟轨迹球的操作,像那种一系列的曲线滑动操作,Monkey命令可结合--pct-trackball参数来配置其事件百分比。基本导航事件,一般用的比较少,模拟输入设备的上、下、左、右按键的操作,现在手机上几乎没这些操作了。Monkey命令可结合--pct-nav参数来配置其事件百分比。主要导航事件通常会产生UI界面中的动作,比如回退按键、菜单按键等。Monkey命令可结合--pct-majornav参数来配置其事件百分比。启动Activity事件,可能不太好理解,简单来说,相当于是在手机上启动一个App的活动页面,Monkey命令可结合--pct-appswitch参数来配置其事件百分比。最后就是其他类型事件,就是除前面说的那些外,如按键、其他不常用的设备上的按钮等。Monkey命令可结合--pct-anyevent参数来配置其事件百分比,但是该事件现在很少使用。