NautyMonkey是一款Android稳定性测试工具,基于控件的随机点击,以随身版APP的方式提供服务,欢迎使用。

NautyMonkey安装包请联系鲁可luke01,后面打算接入移动构建中心,童鞋们可以到移动构建中心下载。

手机环境配置

运行NautyMonkey随身版需要一些基本条件:手机必须root,连接wifi、android5.0以上

对测试apk的要求:没有要求,NautyMonkey对app零入侵,debug release包都可以,release包混淆过,只是看Crash堆栈时不方便而已,推荐用debug包

进入主界面时NautyMonkey会自动请求root权限,如果是第一次安装,需要在授权管理软件(比如supersu、superuser)里通过NautyMonkey的root请求,

如果您是小米MIUI开发版的系统,需要安全中心->授权管理里去手动通过NautyMonkey的root权限

另外有些可选择配置项,请参考NautyMonkey手机配置文档:

http://ks.netease.com/blog?id=9097

基本功能

初始界面:

android稳定性测试监控_如何android稳定性测试

游客:

不具提单能力,可以选手机里随意一款app进行monkey测试,适合场景:体验;需要自己验证某个场景;发现Crash,但日志需手动处理

网易用户(功能开发中):版本等信息可配置、jira自动提单

下面以游客模式来进行说明

点击游客后,进入选择被测app界面:

android稳定性测试监控_摇一摇_02

下拉列表中会显示手机里已安装的、非系统的app,可以任选一款app进行测试,比如这里选择“网易云音乐”

黑名单功能还在开发中,不用理会

点击“保存设置”

android稳定性测试监控_如何android稳定性测试_03

点击右上角的加号图标

android稳定性测试监控_控件_04

“遍历算法选择”这一项,点击后会弹出

android稳定性测试监控_android稳定性测试监控_05

加权算法:模拟用户行为点击控件,通过权值动态计算点击相对重要的控件。覆盖算法:从覆盖率的角度,点击尽可能多的控件。

默认是加权算法

回到主界面,点击“Monkey一下”,如果手机环境配置OK且是monkey内核兼容的机型,等待大约几秒后,就能将被测APP调起来进行随机测试。在权限管理中,允许NautyMonkey的悬浮窗权限,测试过程中能清晰看到一个小手在点击,效果更赞哦。

如果测试过程中需要暂停测试,摇一摇手机暂停,摇一摇弹窗:

android稳定性测试监控_摇一摇_06

点击停止,会彻底停掉monkey测试,

点击启动,会从上次暂停的地方接着测试。

如果您不想立马停止或启动,而是想操作一下app,再接着跑,这里可以选择“保留暂停状态”

NautyMonkey随身版提供两个下拉通知栏,一个用实时更新Monkey测试过程点击的控件数,另一个用于观察monkey的运行状态,可以在暂停过程中,再次续接启动monkey或彻底停止monkey。如下图所示,由于主界面刚启动,所以都是未初始化状态

android稳定性测试监控_控件_07

如果暂停过程中,您想续接暂停的地方接着测试,

android稳定性测试监控_摇一摇_08

点击上图中NautyMonkey第二个通知栏,会跳出摇一摇暂停时弹窗

第一个通知栏会提供NautyMonkey已点击控件数,activity控件覆盖率信息

定位Crash

被测app发生Crash后,NautyMonkey随身版会将日志写在/sdcard/netease/NautyMonkey/测试app包名的目录下

日志文件列表如下:

android稳定性测试监控_测试过程_09

日志文件的前缀是启动测试时间,数字相同,说明都是同一次测试

后缀说明

crashbrief.txt                     Crash的简要信息:Crash堆栈、被测app、测试机型、运行时长,启动时间,Crash前5个activity等

bug.json                           crashbrief.txt的json格式

monkeylog.txt                  NautyMonkey内核点击过程中的activity控件 坐标信息

logcat.txt系统全部logcat日志,日志过大,app会做截断

activitycover.txt本次测试中覆盖到的activity列表

activityNotCover.txt本次测试中未覆盖到的activity列表

allactivity.txt                      app中所有activity列表

排查NautyMonkey单的过程:

优先看crashbrief.txt文件

android稳定性测试监控_如何android稳定性测试_10

如果信息不够,再配合monkeylog.txt  logcat.txt排查

如果是ANR,NautyMonkey还会将系统文件/data/anr/traces.txt提取出来以帮助定位问题