1.什么是Monkey?
Monkey是Android中自带的用来进行压力测试的一个命令行工具。
2,Monkey测试的作用是什么?
Monkey测试是Android自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。
3,Monkey的随机事件有哪些?
Monkey所执行的随机事件流中包含11大事件,分别是触摸事件、手势事件、二指缩放事件、轨迹事件、屏幕旋转事件、基本导航事件、主要导航事件、系统按键事件、启动Activity事件、键盘事件、其他类型事件。Monkey通过这11大事件来模拟用户的常规操作,对手机App进行稳定性测试。下面让我们来详细了解这11大事件。
[if !supportLists]1、[endif]Monkey的随机事件中的命令有哪些?
-p :指定包发生随机事件次数:adb shell monkey -p package 1000
// activity Resuming(com.android.contacts) 表示一个APP从前台进入后台然后又调回前台的过程
-v:显示所有执行的操作步骤:
adb shell monkey -v -p package 1000
-s :指定随机生成数的seed值:
adb shell monkey -p package -s 100(seed值,自己设定的) 50(事件数)
--throttle: 指定事件之间的间隔时间:
adb shell monkey -v -p package --throttle 1000(时间间隔)100(随机事件的次数)--pct-touch: 设定触摸事件百分比:
adb shell monkey -p package --pct-touch 100(百分比) 50
--pct-motion:设定动作事件百分比:
adb shell monkey -p package -s --pct-motion 100(这个数值要和其它事件的和等于100) 50
--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: 设定启动Activity事件的百分比:
adb shell monkey --pct-appswitch
5、怎样使用Monkey进行安卓APP 的稳定性测试和随机测试?
首先要保证SDK的环境已经安装和配置完毕,之后连接设备,连接设备的方式可以是用USB连接,也可以用无线连接的方式连接设备,设备可以是真机也可以是模拟器,利用monkey中封装好的事件命令,根据具体测试需求实现稳定性测试和随机测试。
6、Monkey是否可以实现有规律的流程操作呢?
Monkey可以实现有规律的流程操作,monkey无法与appium或者selenium利用元素定位的方式来操作命令,只能通过坐标位置的方式,然后结合monkey中定义的脚本语言命令,来进行具体的操作,monkey中的自定义脚本,还可以设置执行的速度,执行的次数,这个同样需要依据项目具体需求来进行实施。
7、Monkey是否可以针对H5页面进行压力测试和随机测试呢?
Monkey无法针对H5页面进行稳定性以及随机测试,这个主要是因为H5页面与APP页面的特性不一致。
8、H5与APP的区别有哪些?
(1)、开发不同
对于app开发,每一种移动操作系统都要重新开发一个app。
h5页面是运行在浏览器端的应用,所以无论是什么操作系统只要可以打开浏览器就可
以运行h5页面,因此不需要基于操作系统额外开发。
(2)、运行能力有差距
移动app可以完全发挥手机硬件的优势,比如摄像头、获取本地信息等等,而h5页面则无法发挥这些功能,只能使用少量的硬件功能。
(3)、获取来源不同
移动app需要用户下载安装到自己的移动端手机上才可以使用,而h5页面则没有这些要求,只需要手机可以访问浏览器就可以使用h5页面,这一点比移动端app方便不少。
(4)、存储容量不同
由于移动端app需要下载安装到本地才可以运行,所以与之相之是需要占用手机本地内存,且运行过程中会产生大量的临时数据或缓存数据也会占用大量的存储空间。
h5页面由于运行在浏览器端,所以它消耗的是服务器端的内存,而不需要占用本地有限的内存空间,为用于节省了大量空间,但是缺点是对网络要求较高
[if !supportLists]8、[endif]Monkey的优点:使用monkey进行压力稳定性测试,实现了不仅随机又可重复
[if !supportLists]9、[endif]Monkey的缺点:不支持条件判断,不支持界面的断言
[if !supportLists]10、[endif]什么时候用monkey?
(1)等产品稳定了。(2)没有高级中级别的bug的时候,在这两个条件满足时,我们会用monkey去测试应用的稳定性,健壮性(是否会出现闪退、崩溃)