目录结构
MonkeyTest2.0/
├── config
│ ├── all_app_list.txt 设备中安装的所有app记录文件,在脚本运行是不会使用,仅仅为了修改黑名单和白名单时方便
│ ├── blacklist.txt 应用测试黑名单,具体使用,请了解monkey的使用
│ ├── config.sh 脚本运行的的配置文件,包括采集哪些内存信息,monkey命令选项设置
│ └── whitelist.txt 应用测试白名单,具体使用,请了解monkey的使用
├── custom_cmd
│ ├── cat_meminfo.sh 抓取设备运行时的内存信息
│ ├── cus_monkey_cmd.sh 设备运行时,添加自定义命令,方便抓取信息
│ └── cus_stop_imme.sh monkey停止运行时需要抓取的信息,方便查看monkey停止运行那一瞬间,需要获取的信息,可添加自定义命令
├── document
│ ├── readme.txt
│ └── 分析log.txt 暂未使用,待拓展
├── framework 脚本的框架,不用修改
│ ├── cus_cmd_adapter.sh
│ ├── monitor_monkey.sh
│ └── monkey_process.sh
├── log.sh 停止运行脚本后,拷贝log的命令,可不用
├── monkey_test.sh 启动脚本
├── parse_log.sh 暂未使用,待拓展
└── stop_monkey.sh 停止脚本运行,若运行了monkey,停止monkey 2分钟后,停止抓取logcat,以免遗漏log
执行命令
在脚本的目录下,执行以下命令:
命令 | 说明 |
---|---|
./monkey_test.sh | 自动根据config.sh中的配置运行配置的命令 |
./log.sh 目录 | 拷贝脚本生成的log及tombstones、anr到指定“目录”,如:./log.sh /mnt/usb/sda1/9.26。指定的“目录”可以不存在,脚本会自动创建 |
kill monkey_pid | 通过ps获取到当前运行的monkey pid,停止正在运行的monkey及其他后台抓log命令;两分钟后停止抓取所有log的命令 |
./stop_monkey.sh | 停止脚本运行,若monkey命令有运行,2分钟后停止所有抓取log的命令 |
log文件
Command.txt 执行monkey,记录的事件及事件发送数
Errlog.txt 执行monkey期间,产生的错误信息log
Logcat.txt 执行monkey期间,产生的log;每个文件最大存储40M,超过40兆,自动拆分文件,文件末尾加上编号
RunningRecord.txt 运行test.sh生成的运行记录,可以统计monkey运行时间
meminfon.txt 执行cat_meminfo.sh产生的内存使用记录,可以单独执行
config.sh说明
## running configure
CONFIG_MONKEY_RUN=n 启动脚本后是否运行monkey,若为n,运行cat_meminfo.sh和cus_monkey_cmd.sh中的命令;
若为y,运行monkey命令,如果monkey停止运行,其他后台命令都会自动停止
CONFIG_MONKEY_BLACK=y monkey以黑名单运行;若为n,则以白名单运行,依赖CONFIG_MONKEY_RUN为y,否则无效
CONFIG_LOG_DIR=/data/log 保存脚本运行期间生成的log,脚本运行完后,需把log备份;否则下次运行脚本,会把上次的log清掉
## meminfo capture meminfo.sh中可抓取的内存信息,可用过下面的配置,确定是否抓取
CONFIG_FREE=y
CONFIG_MEMINFO=y
CONFIG_DUMP_MEMINFO=y
CONFIG_PROCRANK=n
CONFIG_HEAP_MEM=n
CONFIG_OOM=y
CONFIG_KMSG=y
CONFIG_EVENTS=y
CONFIG_TOP=n
CONFIG_VMALLOCINFO=y
## monkey option config monkey运行的配置
CONFIG_EVENT_COUNT=400000 monkey运行时,最大发送时间数
CONFIG_MONKEY_OPTION="--hprof --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error"
CONFIG_MONKEY_EVENT="--pct-trackball 0 --pct-motion 0 --pct-anyevent 0 --pct-flip 0 --pct-pinchzoom 0 --pct-touch 0"
CONFIG_EVENT_INTERNAL=200 monkey运行,发送事件间的间隔