一,Monkey是什么?
首先Monkey我们习惯叫它猴子测试,它的思维就像猴子一样,你无法控制它做什么,所以一般我们给它一个软件,他就会针对他看到的界面进行操作,其操作是无目的的、乱点乱按的。

二,Monkey的介绍
它是Android系统自带一个命令行工具,可以运行在模拟器里或者真机设备中运行。
monkey测试的原理就是利用socket通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。

三,前期准备
首先在做Monkey稳定性之前我们需要安装jdk和AndroidSDK,具体可以百度一下很简单。
在安装完JDK和SDK之后,可以通过命令行进行验证。

四,使用方法
首先我们打开命令行
windows+r 输入cmd进入dos命令行;
在命令行中输入adb devices
这里解释一下adb devices是什么,这个命令可以查看当前连接电脑的设备,或者模拟器(我这里用模拟器做演示),如图下,显示了当前连接的模拟器。
在这里插入图片描述
在显示当前连接设备之后,我们通过adb shell命令连接手机或者模拟器。在这里插入图片描述
连接到手机后,我们下一步就是要找到,我们要进行稳定性测试的APP命令,
我们可以使用 pm list packages命令,显示当前连接的手机或者模拟器中安装的软件。
下边的就是当前连接手机的所有软件包名,根据查看找到你要测试的软件在这里插入图片描述
常用命令:

events 指定执行的事件数,包括有(点击,滑动,返回,音量±等待所有的操作形式)

-v日志等级设置,有三种不同等级-v/-v-v/-v-v-v
案例:monkey -p com.zbzl -v -v -v 100

throttle 设置等待时间,两个时间执行之间的间隔事件,时间单位是ms

-s 设置SEED的值,类似与ID,当seed值相同时,会执行相同比例的操作内容。

–ignore-crashes,忽略测试过程中,出现的崩溃现象,当应用出现崩溃,闪退,的情况时,Monkey会重启app,继续运行后续的操作事件

–ignore-timeouts,忽略测试过程中出现的ANR,就是超时未响应

命令行如下:
指定monkey运行的包名,设置忽略崩溃,忽略测试过程中的ANR,设置运行的等待时间单位为ms,三级日志,100次操作
monkey -p com.zbzl --ignore-timeouts --ignore-crashes --throttle 50 -v -v -v 100
成功进程如下,会显示运行日志
在这里插入图片描述
monkey查找日志:
1,通过logcat指令查找
2,通过导出的形式,将monkey日志导出本地文件
建议使用第二种,把日志信息导出到本地,代码
注意要点,在将日志导出到本地的时候我们不能在adb命令行下进行。
实现如下:
adb shell monkey -p com.zbzl --ignore-timeouts --ignore-crashes --throttle 50 -v -v -v 100>G:\123.txt
在这里插入图片描述
运行代码后,不会像在adb命令下一样,等运行结束可以去所保存日志的盘内,查看保存文件。
文本如下:
在这里插入图片描述

在我们查看日志的时候因为日志信息特别多,可以查找关键词:error/crash/timeout/exception

错误信息关键字

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐