1、monkey介绍
Monkey是一款针对Android应用程序的自动化测试工具,它的名字寓意着像猴子一样在软件上随机乱敲按键,以此来模拟用户的随机操作。通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、滑动Trackball、手势输入等操作),Monkey可以对设备上的程序进行测试,检测程序在长时间运行下的稳定性,并观察程序在何种情况下会出现异常。
Monkey测试不仅可以帮助开发者发现应用程序的潜在问题,还能提高应用程序的健壮性和可靠性。此外,Monkey还提供了丰富的命令行参数,使得测试过程更加灵活和可控。
2、运行原理
Monkey测试的原理主要是利用socket通讯的方式模拟用户的随机操作。当Monkey程序在模拟器或设备运行的时候,如果用户触发了如点击、触摸、手势或一些系统级别的事件,它就会产生随机脉冲,并模拟出相应的用户操作。这些随机操作可以是对应用程序的UI进行点击、滑动、输入等操作,也可以是模拟设备的一些系统事件,如网络状态变化、电话呼入等。
Monkey测试通过模拟用户操作来测试应用程序的稳定性,主要是因为在实际使用中,用户的使用习惯和操作方式往往是多样化和不可预测的。通过模拟这种随机性,Monkey可以更全面地测试应用程序在各种情况下的表现,从而发现可能存在的问题。
3、monkey命令
Monkey命令的参数大致分为三大类:
(1)基本配置参数 –v -s --throttle -p;
(2)发送的事件类型:
(3)调试选项
参数说明:
一、基本参数:
1)-P参数,指定要测试的包名:
例:
//指定1个包
adb shell monkey -p cn.mopon.film 2000
-P后面接app包名, 2000是要测试的操作的次数(即随机事件数),比如点击数,缩放数等,达到这个次数测试就结束退出monkey测试状态。
//指定多个包
adb shell monkey -p cn.mopon.film -p com.tencent.QQ -p com.tencent.QQBrowser 100
//不指定包
adb shell monkey 100
说明:Monkey随机启动APP并发送100个随机事件。</