指定页面进行monkey 测试

支持Scheme配置

如果配置了Scheme想将主入口跳Scheme的话 mainActivity 一定置空哦~

指定页面进行monkey 测试_第1张图片

支持配置多个Scheme配置

将Scheme链接 “,”隔开即可,系统会随机选择一个进行跳转。


前言

目前大部分的Monkey测试的方式大都无法对独立的模块进行稳定性测试,而每个业务线的入口在测试阶段很难通过原生的Monkey测试(随机性较强)来发现自己模块内crash的问题,针对这个问题,这个工具设计开发的初衷就是为了能够缩小测试范围,在测试阶段指定业务模块内发现和暴露更多的稳定性相关的问题。

工具介绍:

Demons(守护程序)是自主研发的一套独立的手机应用监听的守护程序。主要作用是控制对指定页面进行Monkey测试。

解决的问题:

当App业务变多的时候之后我们需要对App内的业务模块进行针对性稳定性测试。由于原生的Monkey随机性较强,很难 对指定的Activity进行针对性的monkey测试,Demons的出现就为了解决了这个问题。

工具原理:

原理其实就是有一个后台任务可用定时巡检PC上所连的每个设备当前运行在哪个页面,如果发现设备已经crash或者当前页面不在我们指定的白名单页面,那么Demons会自动处理当前进程的数据并初始化回到主入口。

工具特点:

  • 只要手机连上就可以进行监听,无设备数量限制。
  • Demons可以在每次越界之后随机分配回到一个主入口 进行初始化。
  • Demons与Monkey执行模块是分离的,这样可以防止相互影响。
  • Demons可以运用在原生的Monkey还是其他的修订过的遍历工具。

工具结构:

指定页面进行monkey 测试_第2张图片

执行流程:

指定页面进行monkey 测试_第3张图片

使用效果:

目前试用一个版本 10小时内 保持一直停留在指定页面,抛出来的指定模块的Crash次数占总次数的30%左右,剩余的crash大部分都是主客相关的crash

指定页面进行monkey 测试_第4张图片

上手使用:

下载工具地址:

  • 下载地址 (提取码:CIndbG)

环境准备:

  • 本地AndroidSdk环境必须要有
  • 至少一台设备必须连接电脑(也可以用无线ADB)

运行方式:

1,将工具下载下来放到本地目录下
2,配置工作目录config.xml文件

指定页面进行monkey 测试_第5张图片

3,将单个或多个设备连接电脑,并执行monkey命令
4,在工作目录下执行 java -jar Demons.jar

FAQ:

查看当前页面Activity

adb shell dumpsys activity | findstr "mFocusedActivity"

验证主入口是否有跳转权限

adb shell am start -n 包名/Activity名

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

指定页面进行monkey 测试_第6张图片

后续计划

目前打算把Monkey集成到Demons内部让他成为一个完整性的测试工具(monkey 事件配置,崩溃拦截,crashlog 收集整理 报告产生等等功能)

欢迎一起交流,一起进步 ,订阅源码开放时间 可以关注我的微信公众号:“测试开发进阶” - 点我关注

这里写图片描述

你可能感兴趣的:(monkey)