Monkey测试

作者: waiwaaa | 来源:发表于2018-12-05 10:25 被阅读8次

monkey测试简介

什么是Monkey

Monkey程序是Android系统自带的,由Java语言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar。

操作流程

通过名为“monkey”的Shell脚本去启动Monkey.jar程序(shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey),在你指定的APP应用上模拟用户点击,滑动,输入等操作以极快的速度来对设备程序进行压力测试,检测程序是否会发生异常,然后通过日志进行排错。

目的

测试app 是否会是否会Crash,主要用于稳定性测试
操作命令格式:adb shell monkey {+命令参数}

操作步骤

  1. 环境配置:把adb加入系统环境,手机开启开发者模式
  2. 连接手机,获取测试的包名。获取包名的方法
  3. Monkey编写测试命令,并运行。monkey操作命令

如果要提前中结束测试,中断运行中的monkey

CTRL+C
adb shell ps | grep monkey  返回进程号
adb shell kill [刚才查到的进程号]

从Monkey日志中看问题

测试结果初步判断

  1. monkey执行时未加--ignore-crashes --ignore-crashes参数,就先浏览日志中Events injected: 值,查看当前已执行的次数,就知道有无bug
  2. 程序无响应的问题:在日志中搜索 “ANR”
  3. 崩溃问题:在日志中搜索 “Exception” ,在这里顺便提一下常见的Java异常:
    1. 算术异常类:ArithmeticExecption
    2. 空指针异常类:NullPointerException
    3. 类型强制转换异常:ClassCastException
    4. 数组负下标异常:NegativeArrayException
    5. 数组下标越界异常:ArrayIndexOutOfBoundsException
    6. 违背安全原则异常:SecturityException
    7. 文件已结束异常:EOFException
    8. 文件未找到异常:FileNotFoundException
    9. 字符串转换为数字异常:NumberFormatException
    10. 操作数据库异常:SQLException
    11. 输入输出异常:IOException
    12. 违法访问错误:IllegalAccessError
    13. 内存不足错误:OutOfMemoryError
    14. 堆栈溢出错误:StackOverflowError 15.其他,参考

找出问题后的操作步骤:

  1. 找到是monkey里面的哪个地方出错
  2. 查看Monkey里面出错前的一些事件动作,并手动执行该动作
  3. 若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样。

常规测试的monkey用法

adb shell monkey -p com.xxx.myapp --throttle 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 1000000>d:\mylog.log

对应参数说明
-p指定包名
--throttle 100 MILLISEC事件之间插入的固定延迟。通过这个选项可以减缓Monkey的执行速度。如果不指定,Monkey将尽可能快的产生并执行事件
--ignore-crashes作用:通常,应用发生崩溃或异常时Monkey会停止运行。如果设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
--ignore-timeouts作用:通常,应用程序发生任何超时错误(如“Application Not responding”对话框)Monkey将停止运行,设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
--ignore-security-exception 作用:通常,当程序发生许可错误(例如启动一些需要许可的Activity)导致的异常时,Monkey将停止运行。设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
--ignore-native-crashes忽略本地代码导致的崩溃。设置忽略后,Monkey将执行完所有的事件,不会因此停止
--monitor-native-crashes 监视崩溃时的本地代码
-v 每个-v都将增加反馈信息的级别。共3个级别,因此,-v -v -v可以提供最详细的设置信息。
1000000 这里是指点击的次数
>d:\mylog.log 日志输出

相关文章

  • Monkey命令

    Monkey命令 一、Monkey测试简介 Monkey测试是Android平台自动化测试的一种手段...

  • Monkey测试入门

    一、什么是Monkey测试? Monkey测试也成为压力测试,是Android自动化测试的一种手段,当Monkey...

  • Android稳定性之Monkey测试

    Monkey测试简述 monkey测试顾名思义猴子测试,猴子什么都不懂,只知道在键盘上乱敲。 monkey测试原理...

  • Android Monkey测试及源码分析

    一、Monkey测试简介 monkey测试是Android压力测试的一种手段,通过monkey程序随机模拟用户触摸...

  • monkey测试命令

    下面介绍一种Monkey测试方法:单一模块Monkey测试 以下这条Monkey指令为例: monkey -s 1...

  • App Monkey压力测试(二)

    App Monkey压力测试(一) Monkey测试的一个实例 通过这个实例,我们能理解Monkey测试的步骤以及...

  • Android Monkey 压力测试 介绍

    Android Monkey 压力测试 介绍 什么是Monkey Monkey测试,就像一只猴子,在电脑面前,乱敲...

  • 项目-monkey测试

    Monkey工具Android自动化测试monkey的使用 把版本切换到monkey测试的版本git reset ...

  • MonkeyTseting-压力测试(一)

    monkey 一、Monkey测试简介 monkey猴子压测,顾名思义就是像猴子一样乱点应用 Monkey测试是A...

  • Android自动化测试--monkey的使用

    一、Monkey定义 探索软件测试工具有哪些,本文主要介绍Monkey工具。Monkey测试是Android平台自...

网友评论

    本文标题:Monkey测试

    本文链接:https://www.haomeiwen.com/subject/hvxicqtx.html