软件测试

Android Monkey高速测试--Maxim使用

2023-08-29  本文已影响0人  real张三

GitHub - zhangzhao4444/Maxim: 高速uiautomator控件解析算法的Android Monkey, 每秒10-15个Action Event。实现快速DFS算法的Android Monkey , 每秒 5个Action Event。

上面是作者的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

  1. 编辑max.config
    max.takeScreenShot = true 开启截图
    max.savePageSource = true 保存 xml

  2. 将该文件 push 到 /sdcard/max.config

截图的生效条件
throttle > 200 && max.takeScreenShot= true

崩溃回溯式截图

运行时 shell 增加 --imagepolling 参数 , 开启崩溃回溯截图、关闭原截图逻辑
当崩溃发生时 进行截图保存,实现可回溯崩溃场景,默认会在 /sdcard/crash_$timestamp/

  1. 编辑 max.config
    max.takeScreenShot = true 开启截图
    max.flushImagesThreshold =xx 回溯区间大小 xx 张

截图的生效条件: throttle > 200 && max.takeScreenShot = true && --imagepolling

上一篇 下一篇

猜你喜欢

热点阅读