Android自动测试之Monkey工具

Monkey,猴子。就是像一只猴子,什么都不知道,随意进行操作。它是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。

一、安装

出之于----Monkey测试环境搭建

1.下载SDK for Windows ; SDK不用安装,直接解压:android-sdk-
windows 到如d:盘根目录

  1. 设置sdk下面tools的环境变量
    右击“计算机”-》属性-》高级系统设置-》环境变量-》
    点击Path,将“D:\android-sdk-windows\platform-tools”添加到变量值中,与之前的变量值用“;”隔开。
  2. 下载安装JDK ,下载完成之后点击安装,默认安装就可以了。
  3. platforms存在就不用看了(如果SDK无法自动下载platforms,手工下载 android sdk 2.1,将android-2.1_r01-windows.zip文件解压之后放到android-sdk-windows\platforms)
    5.电脑USB连接手机
    开始->运行(win+R键),输入cmd,在命令行录入adb shell 接下来可以运行Monkey Test的命令
二、monkey语法

adb shell monkey -p your.package.name 5000
以上命令的意思为:指定包名的应用程序,执行5000次伪随机事件

执行adb shell monkey -help,可以看到monkey支持的参数。如下图
Android自动测试之Monkey工具_第1张图片
image.png

常用的参数:

    1. p :指定的包名 例:
      adb shell monkey -p com.sankuai.meituan
    1. s : 随机数种子。配置此参数,则事件顺序一致。例:
      adb shell monkey -p com.sankuai.meituan –s 100
      adb shell monkey -p com.sankuai.meituan –s 100
    1. -v :日志的详细程度。有三个级别。等级越高,日志越详细。例:
      adb shell monkey -p com.sankuai.meituan 100 -v
      adb shell monkey -p com.sankuai.meituan 100 -v -v
      adb shell monkey -p com.sankuai.meituan 100 -v -v -v
  • 4.--throttle :操作之间的间隔毫秒数 例:
    adb shell monkey -p com.sankuai.meituan --throttle 3000 100

  • 5.--ignore-crashes:忽略奔溃日志。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。例:
    adb shell monkey -p com.sankuai.meituan 100 -v --ignore-crashes

  • 6.--ignore-timeouts:用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。例:
    adb shell monkey -p com.sankuai.meituan 100 -v --ignore-timeouts

  • 6.>:app运行日志存放位置。用来把运行的日志,放在指定的文件中。例:
    adb shell monkey -p com.sankuai.meituan 100 >d:\monkey.txt

三、实例
  • 1.手机连接电脑,打开开发者模式,安装美团app
  • 2.获取app包名(获取包名,参考)
    1. 命令行工具,输入monkey指令.对美团 app进行性能测试
      adb shell monkey -p com.sankuai.meituan --throttle 100 -v -v 1000 --ignore-crashes >d:\monkey.txt
      对美团app 进行1000伪事件,每次事件间隔100毫秒,遇到错误,不结束事件,日志保存到d:\monkey.txt
三、日志分析

做日志文件中搜索"ANR", “Exception”。发现此类信息,则是有错误

参考小坦克压力测试

你可能感兴趣的:(Android自动测试之Monkey工具)