Monkey命令以及adb命令的简单介绍(2)

adb的简单介绍

adb即Android Debug Bridge,它是Android提供的一个通用调试工具。

adb命令的简单介绍

  • adb devices 列出目前链接的设备相关信息,如果链接真机,需要将打开手机的USB调试功能。offline状态,表示这个状态表明设备没有连接到adb服务器,或者没有响应。no device这个状态表示没有设备连接
  • adb install 安装apk
  • adb uninstall 卸载apk
  • adb pull 将手机上的文件拉取到电脑上
  • adb shell pm list package 获取手机上安装的apk的包名
  • adb shell pm list package -3 获取手机上安装的第三方应用的包名

Monkey的简单介绍

Monkey是Android系统自带的一个命令行工具,可以运行在模拟器里或者实际设备中。如果用户触发了点击、触摸、手势等操作,它就会产生随机脉冲信号。因此可以通过Monkey的随机重复的方法来对应用程序进行一些稳定性、健壮性方面的测试。

Monkey命令的简单介绍

Monkey命令以及adb命令的简单介绍(2)_第1张图片

  • -v 反馈信息级别。level 0 包含一个 -v level 1 包含2个-v, level 2 包含3个-v。包含的-v越多,输出的日志信息就越详细。
  • -p 用于指定测试的包名。每一个apk都有一个包名。-p命令可制定多个包名,例如:-p com.XXX -p com.yyy
  • -s 由于Monkey是随机性测试,有时候,出现crash情况,需要复现,就需要用到 -s的命令了。-s用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。
    monkey测试1:adb shell monkey -p com.shjt.map –s 10 100
    monkey测试2:adb shell monkey -p com.shjt.map –s 10 100
  • – throttle 这个参数是用于设定两个事件之间的延迟值的。
    例:adb shell monkey -p com.shjt.map --throttle 3000 100 每隔3s执行一次操作

Monkey实例

 adb shell monkey –p com.shjt.map –-throttle 100 –-pct-touch 50 –-pct-motion 50 –v –v 1000 >c:\monkey.txt

对上海公交App进行Monkey压力测试,将日志输出到C盘中。
--pct-touch 50 表示指定触摸事件的百分比为50%,
--pct-motion 50 表示滑动事件生成50%
-v -v 表示日志输出level为1

Monkey 日志分析

正常情况, 如果Monkey测试顺利执行完成, 在log的最后, 会打印出当前执行事件的次数和所花费的时间。Monkey finished 代表执行完成。

异常情况

Monkey 测试出现错误后,一般的分析步骤
看Monkey的日志 (注意第一个swith以及异常信息等)
1. 程序无响应的问题: 在日志中搜索 “ANR”
2. 崩溃问题:在日志中搜索 “Exception” (如果出现空指针, NullPointerException) 肯定是有bug
3. Monkey 执行中断, 在log最后也能看到当前执行次数

你可能感兴趣的:(Monkey)