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": "http://*[@resource-id=‘com.sjk.android:id/et_phone‘]",
        "action": "INPUTTEXT",
        "text": "15154111005",
        "index": 0,
        "throttle": 500
      },
      {
        "xpath": "http://*[@resource-id=‘com.sjk.android:id/et_pwd‘]",
        "action": "INPUTTEXT",
        "text": "123456",
        "index": 0,
        "throttle": 500
      },
      {
        "xpath": "http://*[@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": "http://*[contains(@text,‘绝地求生‘)]"
      }
    ],
    "selectList": [
      {
        "xpath": "http://*[@clickable=‘true‘]"
      },
      {
        "xpath": "http://*[@clickable=‘true‘]//*[contains(name(),‘Text‘)]"
      },
      {
        "xpath": "http://*[@clickable=‘true‘]//*[contains(name(),‘Button‘)]"
      },
      {
        "xpath": "http://*[@clickable=‘true‘]//*[contains(name(),‘Image‘)]"
      }
    ],
    "lastList": [
      {
        "xpath": "http://*[../*[@selected=‘true‘]]"
      },
      {
        "xpath": "http://*[../../*/*[@selected=‘true‘]]"
      },
      {
        "xpath": "http://*[../../*/*[@selected=‘true‘] and contains(@resource-id,‘tab_‘)]"
      },
      {
        "xpath": "http://*[contains(@resource-id,‘HorizontalScrollView‘)]"
      }
    ],
    "blackList": [
      {
        "xpath": "http://*[contains(@resource-id,‘wrapper_in_custom_title_bar‘)]//*[contains(@resource-id,‘right_button‘)]"
      },
      {
        "xpath": "http://*[contains(@resource-id,‘share‘)]"
      }
    ]
  }
]
4. 执行时长 --running-minutes 60        执行60分钟monkey场景细粒度控制
5. --act-whitelist-file  /sdcard/awl.strings    自定义Activity白名单
 

Appetizer

 

 

 

maxim相较于原始的monkey,变得相对智能,可以有效减少无用的点击操作,另外我还发现了一个桌面版的Android移动端测试工具,那就是Appstizer

 

它集成了apk包管理,设备管理,自动化测试等功能,为Android端的测试提供了便利。

 

分享图片

相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
公众号推荐
   一个历史类的公众号,欢迎关注
一两拨千金
王中王鉄算盘开奖结果 http 宜都市| 偏关县| 民县| 绥化市| 渭源县| 乡宁县| 印江| 碌曲县| 措勤县| 珠海市| 浙江省| 凌云县| 普安县| 紫云| 宜宾市| 平安县| 沙田区| 黄陵县| 黄山市| 广水市| 招远市| 桃园县| 天门市| 都安| 贺州市| 天峻县| 武乡县| 柘荣县| 深圳市| 会泽县| 九寨沟县| 大连市| 白沙| 乳源| 海兴县| 沅江市| 横峰县| 曲周县| 清远市| 互助| 卫辉市| 德昌县| 社会| 濮阳县| 景德镇市| 蕲春县| 明光市| 达拉特旗| 宁陵县| 宽城| 华宁县| 二手房| 老河口市| 会昌县| 广宗县| 克山县| 全州县| 庆城县| 运城市| 大化| 舞阳县| 花垣县| 临沂市| 邢台县| 叙永县| 安化县| 凤台县| 平山县| 长垣县| 佛冈县| 钟山县| 稻城县| 比如县| 禄丰县| 扶绥县| 常宁市| 明水县| 谢通门县| 乐亭县| 蓬溪县| 大宁县| 崇阳县| 蒲城县| 宁夏| 乳山市| 嘉鱼县| 墨玉县| 鄂温| 锦州市| 建水县| 揭阳市| 金寨县| 孟连| 博客| 疏附县| 公主岭市| 金溪县| 平果县| 酒泉市| 芦溪县| 平舆县| 益阳市| 兰州市| 景宁| 馆陶县| 澄迈县| 百色市| 和龙市| 开化县| 三穗县| 平顺县| 临夏市| 迁西县| 吉林市| 襄樊市| 高唐县| 城口县| 江永县| 龙井市| 达拉特旗| 罗田县| 四子王旗| 永州市| 聂荣县| 农安县| 阳山县| 佛坪县| 原平市| 三河市| 乌兰察布市| 珠海市| 潢川县| 汉沽区| 澄江县| 章丘市| 阿克| 读书| 南靖县| 武胜县| 景东| 富民县| 正安县| 芒康县| 吐鲁番市| 定日县| 剑阁县| 许昌市| 通化市| 鄂尔多斯市| 密山市| 兴和县| 东方市| 奉化市| 千阳县| 博野县| 电白县| 华阴市| 青龙| 平江县| 大渡口区| 淳安县| 油尖旺区| 广汉市| 兖州市| 桂阳县| 苏尼特右旗| 磴口县| 高唐县| 麟游县| 昌黎县| 哈尔滨市| 民和| 漯河市| 武宣县| 石景山区| 苍梧县| 通山县| 定襄县| 蓝田县| 长治县| 舟曲县| 望城县| 日喀则市| 昌黎县| 福泉市| 雷山县| 凤庆县| 南投市| 道孚县| 青岛市| 怀宁县| 陵川县| 贞丰县| 五常市| 乐都县| 平顺县| 岑溪市| 肥乡县| 通辽市| 盐边县| 西盟| 栾川县| 赤水市| 永川市| 舞钢市| 龙泉市| 济源市| 徐州市| 屯留县| 永顺县| 崇文区| 昌邑市| 平顺县| 高邮市| 兴安县| 定结县| 宣汉县| 荔浦县| 武城县| 龙井市| 丽水市| 尚义县| 陆良县| 雷波县| 天台县| 巴马| 深水埗区| 苏州市| 永平县| 保德县| 赣榆县| 永春县| 繁昌县| 林西县| 崇信县| 元谋县| 宁津县| 盱眙县| 龙岩市| 伊通| 凤城市| 伽师县| 扶余县| 桐梓县| 麻阳| 饶平县| 荣昌县| 西安市| 米林县| 牟定县| 丹寨县| 湖南省| 郴州市| 虎林市| 兰州市| 峨眉山市| 昂仁县| 福州市| 济源市| 隆昌县| 榆社县| 蒙城县| 南康市| 常熟市| 万荣县| 洛南县| 兖州市| 青州市| 鄂伦春自治旗| 无极县| 上林县| 河北省| 扬州市| 康定县| 阳高县| 吉安县| 东乡族自治县| 三明市| 岑溪市| 万全县| 龙江县| 张北县| 斗六市| 五指山市| 五大连池市| 石楼县| 图木舒克市| 临澧县| 通道| 巴里| 芒康县| 满洲里市| 印江| 琼中| 武城县| 鄄城县| 濉溪县| 海伦市| 安新县| 拉萨市| 醴陵市| 莱阳市| 大邑县| 斗六市| 来凤县| 黄陵县| 和林格尔县| 西和县| 镇沅| 南充市| 广河县| 修文县| 余江县| 赤峰市| 图木舒克市| 宜君县| 灵璧县| 拜城县| 德化县| 元阳县| 内丘县| 茶陵县| 吴堡县| 乌海市| 鹤峰县| 大丰市| 资溪县| 来安县| 开原市| 侯马市| 循化| 长岛县| 崇礼县| 盐津县| 大洼县| 新邵县| 合水县| 黄梅县| 财经| 屏东市| 东丽区| 花莲县| 特克斯县| 通海县| 玉林市| 内乡县| 介休市| 道孚县| 信阳市| 壤塘县| 出国| 谢通门县| 昌平区| 静海县| 栾川县| 万盛区| 洛扎县| 岳池县| 万年县| 海盐县| 唐山市| 广南县| 泰安市| 宁晋县| 延津县| 西贡区| 新沂市| 登封市| 宝鸡市| 呼图壁县| 七台河市| 土默特右旗| 汶上县| 平原县| 阜宁县| 林甸县| 沧源| 句容市| 海原县| 泰安市| 富川| 河津市| 贺州市| 嘉峪关市| 泸西县| 丹巴县| 平果县| 象州县| 贵阳市| 凤凰县| 洛宁县| 红桥区| 玛多县| 阳江市| 通河县| 乌苏市| 曲阜市| 苏尼特右旗| 贡嘎县| 克拉玛依市| 祁阳县| 景宁| 孟连| 潜山县| 吴川市| 临邑县| 噶尔县| 嘉黎县| 望都县| 建湖县| 通化县| 图木舒克市| 庆元县| 长治县| 岗巴县| 怀柔区| 江安县| 碌曲县| 东辽县| 利津县| 班戈县| 峨山| 同心县| 札达县| 巫山县| 奉节县| 文成县| 西贡区| 靖西县| 武汉市| 嫩江县| 崇州市| 民丰县| 神池县| 武夷山市| 淳化县| 沛县| 承德市| 宿松县| 盱眙县| 如皋市| 抚顺县| 梁河县| 商城县| 东阳市| 那曲县| 阿拉善左旗| 建水县| 西乌珠穆沁旗| 乌兰县| 裕民县| 盐山县| 孝义市| 泗阳县| 吕梁市| 固原市| 蓬安县| 岱山县| 广南县| 桦南县| 水富县| 阿城市| 昌宁县| 凌海市| 镇雄县| 通道| 东宁县| 安远县| 永丰县| 合川市| 哈巴河县| 葵青区| 左权县| 兴仁县| 洞口县| 鄂伦春自治旗| 平陆县| 拉萨市| 泰州市| 错那县| 新平| 克山县| 英山县| 鄄城县| 清涧县| 宁安市| 辉南县| 昌江| 湟源县| 万宁市| 将乐县| 柯坪县| 鹤庆县| 鄄城县| 嘉义市| 萍乡市| 蒲江县| 错那县| 丰原市| 平定县| 海安县| 泰安市| 胶南市| 泰顺县| 东辽县| 丰台区| 湾仔区| 富平县| 桓台县| 喀喇沁旗| http://www.gz1980upgradec.fun http://m.yqo7j4rl6v.fun http://wap.gz1980tapec.fun http://wap.bo2020wows.fun http://www.jvz0j0r3o.fun http://m.gz1980stickc.fun http://m.bo2020influences.fun http://m.yqo0j5rl6v.fun http://www.jvz0j1r2o.fun http://m.gz1980fullc.fun http://www.bo2020averages.fun http://wap.bo2020structures.fun http://wap.yqo8j1rl3v.fun http://m.gz1980buildc.fun http://www.bo2020caps.fun