美文网首页软件测试
Android Monkey高速测试--Maxim使用

Android Monkey高速测试--Maxim使用

作者: real张三 | 来源:发表于2023-08-29 17:22 被阅读0次

    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

    相关文章

      网友评论

        本文标题:Android Monkey高速测试--Maxim使用

        本文链接:https://www.haomeiwen.com/subject/icxomdtx.html