前言
目前大部分的Monkey测试的方式大都无法对独立的模块进行稳定性测试,而每个业务线的入口在测试阶段很难通过原生的Monkey测试(随机性较强)来发现自己模块内crash的问题,针对这个问题,这个工具设计开发的初衷就是为了能够缩小测试范围,在测试阶段指定业务模块内发现和暴露更多的稳定性相关的问题。
工具介绍:
Demons(守护程序)是自主研发的一套独立于monkey测试之外的 手机内单个应用监听守护的 jvm程序。
解决的问题:
集成到优酷之后我们需要对App内的单个业务模块进行稳定性测试。由于原生的Monkey发送的是全局的随机事件,不支持对某几个Activity进行定制测试,Demons的出现就为了解决了这个问题。
工具原理:
原理其实就是有一个后台任务可用定时巡检PC上所连的每个设备当前运行在哪个页面,如果发现设备已经crash或者当前页面不在我们指定的白名单页面,那么Demons会自动处理当前进程的数据并初始化回到主入口。
工具优势:
Demons可以在每次越界之后随机分配回到一个主入口 进行初始化。
Demons与Monkey执行模块是分离的,这样可以防止相互影响。
Demons可以运用在原生的Monkey还是其他的修订过的遍历工具。
工具结构:
执行流程:
使用效果:
目前试用一个版本 10小时内 保持一直停留在指定页面,抛出来的指定模块的Crash次数占总次数的30%左右,剩余的crash大部分都是主客相关的crash
上手使用:
下载工具地址:
http://yunpan.taobao.com/s/2kxUUA0xNQK (提取码:Xqbqoj)
环境准备:
1,本地AndroidSdk环境必须要有
2,至少一台设备必须连接电脑(也可以用无线ADB)
运行方式:
1,将工具下载下来放到本地目录下
2,配置工作目录config.xml文件
3,执行monkey命令
4,然在工作目录下执行 java -jar Demons.jar
FAQ:
查看当前页面Activity
adb shell dumpsys activity | findstr "mFocusedActivity"
验证主入口是否有跳转权限
adb shell am start -n 包名/Activity名