Android monkey的使用以及日志分析

Adb shell命令

adb是一个C/S架构的命令行工具,主要由3部分组成

  • PC端Client: 发送命令给server,对Android设备进行调试
  • PC端server:管理客户端与Android设备的通信,即adb.exe
  • 手机端daemon:运行在手机的后台守护进程
Monkey简介
Monkey命令基本参数介绍

adb shell monkey

  • -p <包名列表>

    • 此参数指定一个或多个包,指定包名后,monkey只会启动相应的app, 如果未指定包名,monkey允许系统启动所有的app
    • 获取包名 adb shell pm [ package manager] list package -3[列出来第三方包名]
    • eg:
      启动一个应用:adb shell monkey -p + 包名
      启动多个应用:adb shell monkey -p + 包名 -p + 包名
  • -v 指定日志级别

    • -v -v -v: 表示最高级别,日志详细, adb shell monkey -p 包名 -v -v -v
  • -s 随机事件的种子数,种子数目项目则生成相同随即操作序列

    • 可以理解为monkey的编号,会根据编号执行测试时各种动作所占的百分比
    • monkey是一个伪随机测试,原因在于两次测试选择同一个seed值,执行的动作是一致的,可以使用相同的seed的值来复现bug
  • –throttle 设置操作之间的延时

  • COUNT执行次数(唯一的必须属性)

导出Monkey日志
  • adb shell monkey -p 包名 -v -v -v 300 > 保存日志文件路径即可
处理Android Log文件
产生log的条件
  • 程序异常退出
  • 程序强制关闭
  • 程序无响应
  • 手动生成
抓取日志信息
  • 命令: adb logcat -参数
    | adb logcat命令参数 | 意义 |
    | — | — |
    | -s | 设置输出日志 :s的标签, 只显示该标签的日志 |
    | -f | 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功 |
    | -r | 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功 |
    | -n | 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样 |
    | -v | 设置日志的输出格式, 注意只能设置一项 |
    | -c | 清空所有的日志缓存信息 |
    | -d | 将缓存的日志输出到屏幕上, 并且不会阻塞 |
    | -t |输出最近的几行日志, 输出完退出, 不阻塞 |
    | -g |查看日志缓冲区信息 |
    | -B |以二进制形式输出日志 |

  • 一般在跑完mobnkey之后使用adb logcat -v time > 保存日志文件路径,进行日志的抓取

日志文件的组成
  • 系统的基本信息:包括内存,CPU,进程队列,虚拟内存,垃圾回收等
  • 时间信息:主要需要分析的信息
  • 虚拟机信息,包括进程和新城的跟踪信息
快速定位问题
问题操作
ANR搜索"ANR " 注意有一个空格,空格是为了屏蔽一些无关紧要的anrlog信息
Crash搜索"Fatal"
虚拟机搜索Dalvik Thread
  • 一般来说日志的分析可以帮助我们快速的定位问题出现的原因,可以帮助我们快速的解决问题
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wjxbless

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值