简介

这个项目是CrashMonkey4Android可执行文件

原版不支持64位java,只支持32位的

此版本支持java 64位,并且修改了一些内部逻辑,把CrashMonkey4Android 和CrashMonkey4Android_tradefederation 重新打包

2017-3-13更新

1.去掉了每个monkey操作时候的截图,实际执行感觉截图作用不大,而且很耗费时间

2.logcat默认是有缓存的,现在收集log之前先清理了缓存,解决多次循坏执行日志相互重叠的问题

3.monkey命令100ms延迟,大概是1分钟执行100次monkey事件

CrashMonkey4Android 简介

CrashMonkey4Android,是一个依靠Cts框架,对原生Monkey进行改造后的产物,拥有以下新增功能:

1. 保存每一步的截图(去掉了)..

2. 保存logcat.

3. 保存每一个Monkey事件的信息.

4. 分析Crash.

5. Html报告.

6. 支持多设备.

执行和报告

前提保证手机已经连接到电脑,adb devices命令能找到设备;默认配置文件在android-cts\tools\config\cts.xml,可自行修改

启动脚本在tools文件夹下,windows执行start.bat,mac执行 start;

在打开的窗口命令行中输入 run cts --p 测试app的包名 --a 测试app的主activity,然后回车;

android-cts\repository\logs 存放执行日志和截图

android-cts\repository\results 存在执行的报告,index.html 是报告的入口

多个设备可同时进行,报告是分开的,默认执行50次会生成一个报告,之后会循环执行

报告截图

index

result

trace

环境要求

安装JDK1.7+并配置环境变量.

安装SDK并配置环境变量.

参数配置

我们提供了很多可供配置的参数.

查看参数

我们可以通过在命令行下输入run cts --help-all 获取所有的可设置参数:

test options:

--p package of test app

--a main activity of test app

--v monkey event count Default: 20.

--throttle The delay time between the events Default: 300.

--pct-touch percentage of tap event Default: 75.0.

--pct-motion percentage of motion event Default: 25.0.

--pct-syskeys percentage of system key event Default: 5.0.

--logcat-size The max number of logcat data in bytes to capture when --logcat-on-failure is on. Should be an amount that can comfortably fit in memory. Default: 20480.

--plan the test plan to run.

--[no-]reboot Do not reboot device after running some amount of tests. Default behavior is to reboot. Default: false.

--[no-]skip-device-info

flag to control whether to collect info from device. Providing this flag will speed up test execution for short test runs but will result in required data being omitted from the test report. Default: false.

--[no-]device-unlock unlock device Default: false.

--app-path local app's path

--wifiSsdk wifi username

--wifiPsk wifi password

--[no-]skip-uninstall-app

no uninstall test app Default: true.

--monkey-log-size monkey log size Default: 10485760.

-b, --[no-]bugreport take a bugreport after each failed test. Warning: can potentially use a lot of disk space. Default: false.

--[no-]tracefile get trace file ,in /data/anr/trace.txt Default: false.

'stdout' logger options:

--log-level minimum log level to display. Default: INFO. Valid values: [VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT]

主要属性:

p :测试app的包名.

a :测试app的主activity,如果正确设置上面两项,Monkey会针对上面-p指定的应用测试,一直保持在该应用界面.

注意:-a和-p两个参数要一起使用,否则不起作用.

throttle:2个Monkey事件之间的间隔,默认为300毫秒.

pct-touch:点击事件的百分比,默认为70%.

pct-motion:多点滑动事件百分比,默认为25%.

pct-syskeys:系统事件百分比.(只保留了 Back操作),默认为5%.

可以定制比例,但是上面的数字相加一定要为100%.

reboot : 重启机器,默认为false,不重启.如果想要重启的话,直接在命令行附上该参数,不用在后面加true,因为boolen类型的设置方式和其他不一样.

device-unlock:解锁手机,默认为false,如果收集重启的话,建议将该属性设置为true.解锁原理就是利用appium自带的apk来解锁的.

skip-device-info:是否跳过设备信息获取,默认为false.因为我们的报告中用到了设备信息,所以建议不要将该属性设置为true.

app-path:如果应用需要从本地安装,用该属性设置app路径,会自动安装app到收集端.

wifiSsdk:wifi的用户名

wifiPsk:wifi的密码

因为该工具支持自动连接wifi,所以你的app需要在wifi情况下工作,请设置这两个属性,它会自动检测断网并重连.

skip-uninstall-app:是否跳过卸载app的阶段,因为如果使用本地app安装后,有时想卸载应用,可以设置该属性为false.默认是不卸载.

monkey-log-size:如果针对某一个应用测试,该工具为该app单独收集log,这里可以设置log可以最大到多少B.

bugreport:是否保存bugreport信息,默认为false.如果研发想要bugreport信息,将该属性设置为true.

tracefile:是否保存trace.txt文件,该文件位于/data/anr/trace.txt.一般发生crash的时候会用到该文件分析问题.

android monkey优化,GitHub - baozhida/AndroidMonkey: 这个项目是CrashMonkey4Android可执行文件,修复了一些bug,做了一些优化...相关推荐

  1. 回归 HTTP 协议本质:前端还能做哪些性能优化?

    上篇文章聊到:在 HTTP 2.0 时代以后,不需要额外担心由于 TCP 连接数带来的前端性能问题,因此我们不再需要雪碧图等优化手段了.于是前端工程师在 HTTP 协议这层能做的性能优化似乎只有「尽可 ...

  2. Android github上优秀开源项目分类汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...

  3. [转]Android github上优秀开源项目分类汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...

  4. 2017 Android github上优秀开源项目分类汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...

  5. Android常用酷炫控件(开源项目)github地址汇总

    转载一个很牛逼的控件收集帖... 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.Gri ...

  6. Android Studio导入github项目详解

    版权声明:本文为博主原创文章,转载请标明出处. https://blog.csdn.net/lyhhj/article/details/48789705 最近在群里发现总有人问一些关于Android ...

  7. android开源数据库,Android Hawk数据库 github开源项目

    Android Hawk数据库 github开源项目 Hawk 是一个很便捷的数据库  . 操作数据库仅仅需一行代码 , 能存不论什么数据类型 . github 地址: https://github. ...

  8. android monkey 工具,Maxim-高速 Android Monkey 工具使用记录

    一 部署准备 项目地址 部署 Maxim 快捷打开 cmd, 视窗键 +r 打开运行窗口后,输入 cmd 回车 D: 回车进入 D:盘 准备直接 git clone 到 D:盘根目录下 D:\> ...

  9. iOS:Github上的开源项目集合

    转载地址:http://blog.csdn.NET/hbblzjy/article/details/52083919 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. ...

最新文章

  1. Linux 学习之虚拟机下的网络连接
  2. python 作用域 前缀_Python 之作用域和名字空间
  3. 从源码角度深入分析ant
  4. GetWindowThreadProcessId 获得窗口所在进程ID和线程ID
  5. 神经网络- receptive field
  6. java list有序还是无序_最详细的Java学习点知识脑图,从基础到进阶,看完还有啥你不懂的...
  7. 洛谷 | P1219 八皇后(DFS)C++
  8. Introduction to Chinese natural language processing
  9. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于社区疫情防控管理系统l3p3p
  10. 利用MEGA做序列比对
  11. Word添加脚注自定义标记
  12. java首行缩进两个字符,都是首行缩进2字符,为什么缩进又不相同.d – 手机爱问...
  13. c语言中get的作用,c语言中get的用法
  14. shared_ptr中的owner_before解析(最易懂,最全面)
  15. Chinese NER Using Lattice LSTM 论文解读
  16. 【Unity 3D 从入门到实战】Unity 3D 组件总结
  17. 读取obj+mtl 文件 (OpenGL C++)
  18. python桌面实验小软件,实现地图信息整理为电子表格
  19. 普通人如何在网上能月入3000以上
  20. Vue2+Node.js前后端分离项目部署到云服务器

热门文章

  1. SteamVR导致场景相机不正常
  2. MySql索引的原理
  3. iLogtail使用入门-K8S环境日志采集到SLS
  4. 智能巡检云监控指标的实践
  5. 阿里云云效发布研发协同工具,以新的产研协同工作方式助力实现BizDevOps
  6. 如何优雅的理解HBase和BigTable
  7. Discord 公司如何使用 Cassandra 存储上亿条线上数据
  8. (Python)时序预测的七种方法
  9. 亚信安全发布2021年挖矿病毒专题报告,聚焦挖矿病毒进化与治理
  10. 飞桨企业版重磅发布智能边缘控制台 5分钟零代码自动化模型部署