A Tool use for running android monkey test on PC.
Android系统自带的monkey测试,一般用于测试Android系统上各个app的稳定性,对各个界面发送随机事件,检测是否会产生CRASH或ANR等异常。 详情可访问谷歌官网了解: UI/Application Exerciser Monkey
目前测试人员进行monkey测试一般在终端输入一长串指令,或者把指令写成一个脚本,指令有改变需要打开脚本修改脚本参数再执行,有些麻烦和低效。 该工具简化Monkey执行步骤,简化参数配置。
测试过程监控ANR和CRASH以及其他EXCEPTION。
实时保存logcat信息。
测试结束可以导出Excel格式的测试报告,统计发生ANR和CRASH数量以及发生的包名。
-
java语言编写,依赖java环境,运行环境为windows
-
依赖adb,把adb配置为环境变量
-
添加依赖的jar包
-
打包成jar后使用java命令运行
java -jar SVmonkey.jar
-
也可以把jar打包成exe后双击运行
-
随机测试:查找设备后,配置monkey参数,在待测设备上右键,点击随机测试。(不指定应用程序包,进行随机测试)
-
指定包测试:到所有应用、系统应用等子列表下,右键,点击“对此程序包进行测试”
-
白名单测试:待测设备ID上右键->开始白名单测试(需要先往白名单中添加应用程序包)
-
黑名单测试:待测设备ID上右键->开始黑名单测试(需要先往黑名单中添加应用程序包)
-
顺序名单测试:待测设备ID上右键->开始顺序名单测试(需要先往名单中添加应用程序包),以当前的配置对该名单中每个包依次进行测试)
测试结束,右键对应的测试记录,即可导出报告到excel。
-
安装apk:在对应设备的第三方应用上右键->安装第三方apk,支持多选安装。
-
卸载第三方应用:在对应设备下的第三方应用下在待测应用上右键->卸载该应用。
-
解析已有monkey日志:在测试记录表格中右键->解析Monkey日志,能解析使用命令行执行monkey命令时重定向输出的monkey日志,解析后会把解析结果作为一次monkey测试记录添加到表格中。
-
导出和导入monkey参数:配置好monkey参数后,右键待测设备,即可导出该配置,或导入新的配置。 (配置文件后缀“.properties” )
--ignore-crashes: 是否在出现crash时继续测试。
--ignore-timeouts: 是否在出现anr时继续测试。
--ignore-security-exceptions: 是否在出现指定当应用程序发生许可错误时(如证书许可,网络许可等)继续测试。
--monitor-native-crash:是否监视本地代码crash事件。
--ignore-native-crashes:是否忽略本地代码crash事件继续测试(监视本地代码crash事件前提下可用)。
--permission-target-system:是否是运行时权限系统(android6.0及以上)
Throttle Millisec: 两个事件之间发送的时间间隔,单位毫秒。
Log Level: 输出日志等级,由低到高分别为-v , -v -v , -v -v -v
Seed: 随机事件种子值(用于产生随机事件序列)。
Event Count: monkey测试总事件数。
Trackball Percent: 轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)。
AppSwitch Percent: Activity启动事件百分比。
Flip Percent: 键盘翻转事件百分比。
Touch Percent: 触摸事件的百分比(触摸事件是一个down-up事件)。
SysKeys Percent: 系统按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)
AnyEvent Percent: 其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等(这个按键可能会按到power,因此可考虑设置为0)。
PinchZoon Percent: 缩放事件百分比。
Nav Percent: 基本导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)。
MajorNav Percent: 主要导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)。
Motion Percent: 滑动事件的百分比(滑动事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)。
Permission Percent: 权限百分比,申请运行时权限事件的百分比
一、没有root的设备可能会有如下错误导致monkey提前结束,root设备即可。Root方法:选中设备后按下 Ctrl + R(一般不需要root,很多设备也不能root).
或者设备连接电脑时,允许运行USB调试。
二、monkey参数中所有事件的百分比之和必须等于100%,或者不填,否则执行失败(提示如下图中错误信息)。
三、设备软件信息获取失败显示未知:请尝试root后再点击识别设备。(一般不需要root,很多设备也不能root).
四、停止monkey测试需要待测设备支持,在adb shell中执行ps | grep monkey能找到monkey进程,否则不支持结束该设备的monkey测试,需要手动停止(重启待测设备,有可能还需要重启SVmonkey)。
微信扫码关注公众号输入 monkey 或者 猴子 即可获取试用