上面是作者的github地址,教程写的很详细,这里简单记录一下常用的一些命令
安装
将 framework.jar
, monkey.jar
push 到手机上某个目录中,建议/sdcard
adb push framework.jar /sdcard
adb push monkey.jar /sdcard
启动
cmd 命令
adb shell CLASSPATH=/sdcard/monkey.jar:/sdcard/framework.jar exec app_process /system/bin tv.panda.test.monkey.Monkey -p com.panda.videoliveplatform --uiautomatormix --imagepolling --throttle 300 --running-minutes 30 -v -v --act-blacklist-file /sdcard/awl.strings
tv.panda.test.monkey.Monkey
: monkey入口类,不要修改
com.panda.videoliveplatform
: 被测app包名,需要修改
--uiautomatormix
: 遍历策略
--throttle 300
:在事件之间插入固定的时间(毫秒)延迟,你可以使用这个设置来减缓 Monkey 的运行速度,如果你不指定这个参数,则事件之间将没有延迟,事件将以最快的速度生成。一般设置为 300 毫秒,原因是实际用户操作的最快 300 毫秒左右一个动作事件,所以此处一般设置为 300 毫秒
-v -v
:Level1(-v -v),提供了较为详细的测试信息,如逐个发送到 Activity 的事件信息。 这样在执行过程日志中,便可以看到遍历到的 currentActivity 当前被执行 Activity 名
--imagepolling
:崩溃回溯式截图,详细使用看下面
--running-minutes
:运行时间
--act-blacklist-file
:Activity黑白名单,控制仅在几个特定Activity中跑monkey --act-whitelist-file /sdcard/awl.strings
或 --act-blacklist-file /sdcard/awl.strings
策略
--uiautomatormix
直接使用底层accessibiltyserver获取界面接口 解析各控件,随机选取一个控件执行touch操作。
同时与原monkey 其他操作按比例混合使用
默认accessibilityserver action占比50%,其余各action分剩余的50%
accessibilityserver action占比可配置 --pct-uiautomatormix n
--uiautomatordfs
深度遍历算法
--uiautomatortroy
控件选择策略按max.xpath.selector配置的高低优先级来进行深度遍历
截图
高速截图 及 dump xml
-
编辑
max.config
max.takeScreenShot = true
开启截图
max.savePageSource = true
保存 xml -
将该文件 push 到 /sdcard/max.config
截图的生效条件
throttle > 200 && max.takeScreenShot= true
崩溃回溯式截图
运行时 shell 增加 --imagepolling 参数 , 开启崩溃回溯截图、关闭原截图逻辑
当崩溃发生时 进行截图保存,实现可回溯崩溃场景,默认会在 /sdcard/crash_$timestamp/
图
- 编辑
max.config
max.takeScreenShot = true
开启截图
max.flushImagesThreshold =xx
回溯区间大小 xx 张
截图的生效条件: throttle > 200 && max.takeScreenShot = true && --imagepolling
网友评论