Monkey测试详解

一、Monkey简介

  • Monkey在英文里的含义是猴子,在测试行业的学名叫“猴子测试”,指的是没有测试经验的人甚至是根本不懂计算机的人(就像一只猴子),不需要知道程序的任何用户交互方面的知识,给他一个程序,他就会对他看到的任何界面进行操作,当然操作是无目的的、随便乱按乱点的,这种测试在产品周期的早期阶段会很有效,为用户节省了很多时间。
  • Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

1. Monkey的特征

  • 测试的对象仅为应用程序包,有一定局限性
  • Monkey测试使用的事件随机流是随机的,也可以进行自定义
  • 可对MonkeyTest的对象,事件数量,类型,频率等进行设置

2. Monkey的停止条件

  • 应用程序崩溃或接收到任何失控异常
  • 应用程序不响应
  • 正常运行结束
  • 强制停止进程

二、monkey的使用

1、进入Monkey

  • 首先检测android真机/模拟器是否已经连接:adb devices
  • 然后选取一个设备来进入shell:adb -s XX设备 shell,如果你只有一个设备,可以写adb shell

2、使用monkey进行参数的步骤

  • 使用模拟器或者真机,注意要在DOS里面使用adb devices验证
  • 找到APP应用程序的包名,也就是PackageName
  • 写出Monkey命令进行测试:adb shell monkey -p 应用软件的包名 -v 操作数

三、monkey的参数

1. -p参数

  • 参数-p用于约束限制
//下面的命令表示Monkey程序对包名这个程序模拟100次随机用户事件
adb shell monkey -p 包名 100

//下面的命令表示Monkey程序对包名1,包名2,包名3模拟100次随机用户事件
adb shell monkey -p 包名1 –p 包名2  -p 包名3 100

//下面的命令表示Monkey程序手机内所有的程序模拟100次随机用户事件
adb shell monkey 100

2. -v参数

  • 定义执行monkey的时候的日志显示详情
    -v:一级日志(默认的,显示的日志内容最少)
    -v -v:二级日志,会显示随机事件的比例以及发送事件的顺序等
    -v -v -v:三级日志,最详细
adb shell monkey -p com.tencent.mm -v -v 100

3. -s [-s SEED]

  • 在多次执行monkey的时候,就算指令完全一样,发出的随机事件及顺序不一样,在每次执行的时候,可以都要给相同的一个种子数(随机的数字),发出的随机事件及顺序就一样
  • 主要使用的场景:复现之前monkey执行时候出现的问题
adb shell monkey -p com.tencent.mm -s 1588 -v -v 10
adb shell monkey -p com.tencent.mm -s 1588 -v -v 10
adb shell monkey -p com.tencent.mm -s 158 -v -v 10

4. --throttle [–throttle MILLISEC]

  • 在每次事件发送的时间间隔,以一定频率发送事件
adb shell monkey -p com.tencent.mm -s 1588 --throttle 1000 -v -v 100

5. [–pct-touch PERCENT]

  • PERCENT表示占总事件的百分之多少
  • 调整发送的触摸事件的比例功能,点击一个位置,再松开(action_down/action_up)
//touch后面的100,表示100次操作都是触摸事件
adb shell monkey -p com.tencent.mm -s 158 --throttle 100 --pct-touch 100 -v -v 1000

//--pct-trackball 30 表示30%的轨迹球事件
//用monkey测试天猫的这个包触摸操作百分之50,轨迹球操作百分之30,其它操作百分之20,总共进行100次随机点击,事件之间间隔300ms
adb shell monkey -p com.tmall.wireless -v -v -pct-touch 50 -pct-trackball 30 -throttle 300 100

6. [–pct-motion PERCENT]

  • PERCENT表示占总事件的百分之多少
  • 调整发送的拖动/移动事件的比例功能,点击一个位置,拖到另一个位置,再松开(action_down/ACTION_MOVE/action_up)
adb shell monkey -p com.tencent.mm -s 158 --throttle 100 --pct-motion  100 -v -v 10

7. [–pct-syskeys PERCENT]

  • PERCENT表示占总事件的百分之多少
  • 模拟设备的电话、主页、音量加、减等操作
adb shell monkey -p com.tencent.mm -s 158 --throttle 100 --pct-syskeys  100 -v -v 10

8. --pct-appswitch PERCENT

  • PERCENT表示占总事件的百分之多少
  • 覆盖你指定包(app)activity,切换不同的页面
adb shell monkey -p com.tencent.mm -s 158 --throttle 100 --pct-appswitch  40 -v -v 10

9. [–ignore-crashes]

  • 忽略monkey执行过程中crash这种问题,继续执行monkey
adb shell monkey -p com.tencent.mm -s 158 --throttle 100 --pct-syskeys 100  --ignore-crashes -v -v 100
  1. –ignore-crashes
    作用:通常,应用发生崩溃或异常时Monkey会停止运行。如果设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
    注:常用。

  2. –ignore-timeouts
    作用:通常,应用程序发生任何超时错误(如“Application Not responding”对话框)Monkey将停止运行,设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
    注:常用。

  3. –ignore-security-exception
    作用:通常,当程序发生许可错误(例如启动一些需要许可的Activity)导致的异常时,Monkey将停止运行。设置此项,Monkey将继续发送事件给系统,直到事件计数完成。

  • 8
    点赞
  • 114
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Monkey测试是一种用于对正在开发的Android应用程序进行压力测试的工具。它可以通过发送伪随机的用户事件流来模拟用户的操作。以下是一个简单的Monkey测试教程: 1. 安装Android SDK:首先,您需要安装Android SDK,并确保adb工具可用于与Android设备通信。 2. 连接设备:将Android设备通过USB连接到计算机,并确保设备已开启USB调试模式。 3. 打开终端或命令行窗口:在计算机上打开终端或命令行窗口,进入Android SDK的platform-tools目录。 4. 启动Monkey测试:执行以下命令来启动Monkey测试: ``` adb shell monkey [选项 <事件数量> ``` 5. 配置选项:根据需要添加命令选项来配置Monkey测试的行为。例如,您可以使用`-p`选项指定要测试的应用程序包名,使用`--throttle`选项设置事件之间的延迟时间等。 6. 运行测试:执行命令后,Monkey将开始发送伪随机的用户事件流到目标应用程序。您可以在设备上观察应用程序的行为,并监控其性能和稳定性。 请注意,Monkey测试是基于伪随机事件的,因此无法完全重复相同的测试。但是,通过限制事件范围和添加其他命令选项,您可以将测试限制在特定的范围内,以便进行更有针对性的测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Monkey测试详解](https://blog.csdn.net/weixin_49043031/article/details/107210575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值