APP(Monkey测试)

(一)可以通过Python或是cmd进入DOS窗口进行命令输出.

  1. cmd进入DOS窗口,进行adb命令的执行(前提是提前安装adb,安装教程自行百度)
  2. 打开PyCharm,import os,利用os.system(  )进行adb命令的执行

(二)在DOS窗口进行Monkey测试:

  1. 通过数据线连接手机和电脑,开启USB调试模式,打开开发者模式
  2. adb devices    检查设备是否存在
  3. adb shell "logcat | grep START"   获取包名(在输入命令后,点击需要测试的APP,在屏幕输出的最后一行的cmp=右边的就是app的包名。)
  4. 执行Monkey测试,输出指令:adb shell monkey -p com.xxxxxx.buyer -v -v -v -s 200 1000
  5. -p 后面可以指定测试某一个或是多个测试包
  6. -s 用于指定伪随机数生成器的seed值,如果seed值相同,则俩次Monkey测试所产生的 的事件序列也是相同的(就是seed值相同,俩次Monkey测试的操作事件的顺序也是相同的)
  7. -v 指定信息反馈的级别,-v,-v -v,-v -v -v三个级别,-v -v -v是*别,反馈的信息是最详细的,一般测试时选择*别.
  8. 200指的就是seed的序列可以任意设置不同的整数
  9. 1000指的就是设置的点击次数

(三)Monkey测试中常用的参数:

  1. --throttle  (毫秒)  俩个事件操作间的延时操作时间
  2. --randomize-throttle 在事件间插入随机延时范围为0到throttle设置的时间   (例子:adb shell monkey -p com.d2cmall.buyer --thro-ttle 5000 randomize-throttle 100 1000)
  3. --ignore-crashes 忽略程序崩溃。设置此选项后,Monkey会执行完所有的事件,不会因crash而停止。
  4. --ignore-timeouts 忽略程序无响应。设置此选项后,Monkey会执行完所有的事件,不会因ANR而停止。
  5. --ignore-security-exceptions 忽略证书或认证异常。设置此选项后,Monkey会执行完所有的事件,不会因认证或证书异常而停止。
  6. --ignore-native-crashes 监视系统中本地代码发生的崩溃
  7. --monitor-native-crashes 忽略本地代码导致的崩溃。设置忽略后,Monkey将执行完所有的事件,不会因此停止。

(四)Monkey调整百分比事件:

  1. --pct-touch 调整点击事件的百分比(上下点击)

  2. --pct-motion 调整移动事件的百分比(直线滑动)

  3. --pct-pinchzoom 调整俩指缩放压缩手势的百分比,比如放大缩小手势操作

  4. --pct-rotation 调整旋转事件的百分比(横屏竖屏)

  5. --pct-nav 调整主要导航事件的百分比,例如中间键/菜单键/退回键

  6. --pct-syskeys 调整"系统"按键事件的百分比,这些按键一般专供系统使用,如back/home/call/音量控制等

  7. --pct-appswitch 调整app切换事件的百分比

  8. --pct-flip 调整键盘唤出隐藏事件的百分比

  9. 例:adb shell monkey -p com.xxx.buyer -s 200 -v -v -v --pct-touch 100 1000    (注:百分比事件命令可以组合使用)

(五)monkey黑白名单:

  1. 创建白名单whitelist.txt,在名单内输入想要测试的包名

  2. 把文件推送到手机端的/data/local/tmp目录

  3. 推送命令:adb push whitelist.txt文件所在的路径 /data/local/tmp

  4. 执行这个文件,adb shell monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt 1000次

     

  5. 创建黑名单blacklist.txt,在名单内输入想要测试的包名

  6. 执行这个文件,adb shell monkey --pkg-blacklist-file /data/local/tmp/whitelist.txt 1000次

(六)把Monkey日志输出到指定文件:

  1. adb shell monkey -p com.xxxxxxl.buyer -v -v -v -s 200 1000 > /绝对路径+指定文件名

(七)终止Monkey测试的执行:

  1. 在dos窗口ctrl+c终止后,adb shell ps查询到monkey的进程,kill 进程号
  2. adb shell后再进行ps的进程查询可能会出现只显示shell内正在进行的进程而导致查询不到Monkey进程,adb shell ps显示的是手机内的所有进程

Monkey测试出现的异常的原因以及日志分析:

  1. 一般是由于以下两种原因导致的:
  2. Crash 程序崩溃(程序存在空指针/CPU内存不足/内存不足)
  3. ANR 程序无响应(CPU不足/内存不足/线程阻塞)
  4. 常见的测试结果分析方法-搜索关键字:(在日志中搜索“ANR”,在日志中搜索“CRASH”,在日志中搜索”Exception”)

APP(Monkey测试)

上一篇:html5唤起app的方法


下一篇:Android输入系统(2)——输入系统框架(Android+Linux)