Maxim-可自定義的Monkey測試工具(Android)

Maxim 基於monkey作的二次開發,相比原始monkey,新增以下功能
  1. 多種隨機測試模式:dfs(深度遍歷) mix模式(monkey隨機測試+控件識別) troy模式(按照控件選擇器進行遍歷)
  2. 可進行執行時長設定
  3. 能夠自定義activity黑白名單
  4. 兼容多個Android版本
  5. 防跳出,防休眠,防假死

Maxim

使用方法

  1. adb push framework.jar monkey.jar文件到 /sdcard 文件夾中
  2. 執行:adb shell CLASSPATH=/sdcard/monkey.jar:/sdcard/framework.jar exec app_process /system/bin tv.panda.test.monkey.Monkey -p com.panda.videoliveplatform --uiautomatormix --running-minutes 60
 

參數說明:

  1. tv.panda.test.monkey.Monkey 主調入口  無需修改
  2. -p com.panda.videoliveplatform  待測appid
  3. 策略模式

    --uiautomatormix 混合模式(70%控件解析隨機點擊,其他30%按原Monkey事件機率分佈) 
    --pct-uiautomatormix n 可自定義混合模式中控件解析事件機率
    demo:
    [  {
    "prob": 1,
    "activity": "com.sjk.userattribute.login.PwdLoginActivity",
    "actions": [
      {
        "xpath": "//*[@resource-id='com.sjk.android:id/et_phone']",
        "action": "INPUTTEXT",
        "text": "15154111005",
        "index": 0,
        "throttle": 500
      },
      {
        "xpath": "//*[@resource-id='com.sjk.android:id/et_pwd']",
        "action": "INPUTTEXT",
        "text": "123456",
        "index": 0,
        "throttle": 500
      },
      {
        "xpath": "//*[@resource-id='com.sjk.android:id/tv_login']",
        "index": 0,
        "action": "CLICK",
        "throttle": 500
      }
    ]
  },
]
--uiautomatordfs DFS深度遍歷算法(優化版)(注 Android5不支持dfs) 
--uiautomatortroy Troy模式 
 配置 max.xpath.selector troy控件選擇子來定製自有的控件選擇優先級,max.xpath.selector 須要push 到/sdcard/
demo:
[
  {
    "firstList": [
      {
        "xpath": "//*[contains(@text,'絕地求生')]"
      }
    ],
    "selectList": [
      {
        "xpath": "//*[@clickable='true']"
      },
      {
        "xpath": "//*[@clickable='true']//*[contains(name(),'Text')]"
      },
      {
        "xpath": "//*[@clickable='true']//*[contains(name(),'Button')]"
      },
      {
        "xpath": "//*[@clickable='true']//*[contains(name(),'Image')]"
      }
    ],
    "lastList": [
      {
        "xpath": "//*[../*[@selected='true']]"
      },
      {
        "xpath": "//*[../../*/*[@selected='true']]"
      },
      {
        "xpath": "//*[../../*/*[@selected='true'] and contains(@resource-id,'tab_')]"
      },
      {
        "xpath": "//*[contains(@resource-id,'HorizontalScrollView')]"
      }
    ],
    "blackList": [
      {
        "xpath": "//*[contains(@resource-id,'wrapper_in_custom_title_bar')]//*[contains(@resource-id,'right_button')]"
      },
      {
        "xpath": "//*[contains(@resource-id,'share')]"
      }
    ]
  }
]
4. 執行時長 --running-minutes 60        執行60分鐘monkey場景細粒度控制
5. --act-whitelist-file  /sdcard/awl.strings    自定義Activity白名單
 

Appetizer

 

 

 

maxim相較於原始的monkey,變得相對智能,能夠有效減小無用的點擊操做,另外我還發現了一個桌面版的Android移動端測試工具,那就是Appstizerandroid

 

它集成了apk包管理,設備管理,自動化測試等功能,爲Android端的測試提供了便利。算法

 

相關文章
相關標籤/搜索