NautyMonkey使用文档(Android稳定性测试)

阿凡达2018-07-04 09:43

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

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

手机环境配置

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

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

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

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

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

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

 

基本功能

初始界面:

游客:

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

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

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

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

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

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

点击“保存设置

点击右上角的加号图标

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

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

默认是加权算法

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

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

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

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

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

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

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

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

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

定位Crash

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

日志文件列表如下:

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

后缀说明

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

bug.json                           crashbrief.txtjson格式

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

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

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

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

allactivity.txt                      app中所有activity列表

排查NautyMonkey单的过程:

优先看crashbrief.txt文件

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

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

如果是NativeCrashNautyMonkey还会将系统目录/data/tombstones下的tombstone文件提取出来以帮助定位问题

童鞋们若用NautyMonkey发现Crash,记得提单哦,方便Crash跟踪

本文来自网易实践者社区,经作者鲁可授权发布。