一、测试工具Monkey是什么?
Monkey是AndroidSDK提供的一个命令行工具,可以简单,方便地运行在任何版本的Android模拟器或实体设备上。
Monkey就是猴子,Monkey测试,是指像猴子一样,猴子什么都不懂,不知道程序的任何用户交互方面的知识,就对界面进行无目的、乱点乱按的操作。
通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键点击等操作来对设备上的程序进行稳定性测试,检测程序多久的时间会发生异常。
二、作用
通过向系统发送伪随机的用户事件流(按键点击、触摸屏滑动、文字输入等),实现对应用程序客户端的进行稳定性测试。
三、程序介绍
- Monkey是一种测试软件的稳定性、健壮性的快速有效的方法。
- Monkey是Android系统自带的程序,由Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar。
- Monkey是需要通过adb来运行。
- Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey。
四、如何使用
A、搭建环境:
- 下载安装jdk
- 下载安装sdk
B、安装并配置好adb环境,并通过adb连接好设备(PC虚拟机或手机实体机)。
- 手机实体机:在开发者选项里打开手机的usb调试,用usb数据线连接手机,允许电脑连接手机。
- PC虚拟机:无需做任何调试。
C、获取被测应用的包名:手机中安装APK包名查看器、查看AndroidManifest.xml源码文件、aapt命令查看、询问开发人员
D、执行Monkey命令进行测试:
- PC虚拟机:adbshell进入Android系统,通过执行monkey{+命令参数}来进行Monkey测试。
- 手机实体机:直接执行monkey命令。
五、架构
六、命令和常用参数
七、结果分析整理
monkey命令运行完之后,查看运行结果,找找出错的地方,比如一些关键字“error”。
如果程序出现崩溃或者不响应的情况,可以在log日志中搜索关键词“exception”、“cash”、“ANR”。
常见的“exception”:
- 算术异常类:ArithmeticExecption
- 空指针异常类:NullPointerException
- 类型强制转换异常:ClassCastException
- 数组负下标异常:NegativeArrayException
- 数组下标越界异常:ArrayIndexOutOfBoundsException
- 违背安全原则异常:SecturityException
- 文件已结束异常:EOFException
- 文件未找到异常:FileNotFoundException
- 字符串转换为数字异常:NumberFormatException
- 操作数据库异常:SQLException
- 输入输出异常:IOException
- 违法访问错误:IllegalAccessError
- 内存不足错误:OutOfMemoryError
- 堆栈溢出错误:StackOverflowError
单词注释:
- error:错误
- exception:异常
- crash:崩溃
- ANR:应用程序不响应
八、缺点
Monkey不支持条件判断,也不支持读取待测界面信息来执行验证操作。
无法使用Monkey来指定重复做一样测试,因为monkey产生的是伪随机的事件流。但是我们可以通过添加命令选项将操作限制在一定的范围内。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/282114.html