【Android 】【Monkey Demons】 针对性的进行稳定性测试

    xiaoxiao2026-05-14  13

    前言

    目前大部分的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名

    主入口如果配的有问题会出现以下错误,原因是Activity 没有调用权限

    最新回复(0)