我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android Monkey压力测试详细介绍

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android Monkey压力测试详细介绍

Monkey 是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Android模拟器和实体设备上。 Monkey会发送伪随机的用户事件流,适合对app做压力测试

阅读目录

环境搭建 什么是Monkey Monkey 用来做什么 Monkey程序介绍 Monkey 架构 Monkey弱点 Monkey 参数大全 Monkey 命令 基本参数介绍 Monkey 实例 Monkey 查看包名 Monkey  日志分析 必须重视Crash

环境搭建

安装Android SDK 并配置环境变量

http://pan.baidu.com/s/1jIlifbS

什么是Monkey

顾名思义,Monkey就是猴子,  Monkey测试,就像一只猴子, 在电脑面前,乱敲键盘在测试。  猴子什么都不懂, 只知道乱敲

通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常

Monkey 用来做什么

Monkey 主要用于Android 的压力测试  自动的一个压力测试小工具, 主要目的就是为了测试app 是否会Crash.

Monkey程序介绍

(1) Monkey程序由Android系统自带,使用Java诧言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar;  

(2) Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey; 

(3)Monkey 命令启动方式:          

     a)可以通过PC机CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试         

     b)在PC上adb shell 进入Android系统,通过执行 monkey {+命令参数} 来进行Monkey 测试         

     c )  在Android机或者模拟器上直接执行monkey 命令,可以在Android机上安装Android终端模拟器 

Monkey 架构

Monkey 运行在设备或模拟器上面,可以脱离PC运行(普遍做法是将monkey作为一个像待测应用发送 随机按键消息的测试工具。验证待测应用在这些随机性的输入面前是否会闪退或者崩溃)

Monkey弱点

Monkey虽然可以根据一个指定的命令脚本发送按键消息,但其丌支持条件判断,也丌支持读取待测界 面的信息来执行验证操作。

Monkey 参数大全

Monkey 命令 基本参数介绍

-p <允许的包名列表>        

用此参数指定一个或多个包。指定包之后,monkey将只允许系统启动指定的app。如果丌指定包, monkey将允许系统启动设备中的所有app。 

指定一个包:adb shell monkey -p com.shjt.map 100  

指定多个包:adb shell monkey -p fishjoy.control.menu  –p com.shjt.map  100 

-v       

用亍指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下 表所示:

Level 0  :  adb shell monkey -p com.shjt.map -v 100               // 缺省值,仅提供启动提示、测试完成和最终结果等少量信息  

Level 1  :  adb shell monkey -p com.shjt.map -v  -v 100          // 提供较为详细的日志,包括每个发送到Activity的事件信息

Level 2  :  adb shell monkey -p com.shjt.map -v  -v  -v 100     // 最详细的日志,包括了测试中选中/未选中的Activity信息

-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 <毫秒>           

用亍指定用户操作(即事件)间的时延,单位是毫秒;如果丌指定这个参数,monkey会尽可能快的 生成和发送消息。 示

例:adb shell monkey -p com.shjt.map --throttle 3000 100  

Monkey 实例

用monkey 命令 对上海公交 app进行 性能测试

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

Monkey 查看包名

手机中安装APK包名查看器 

源码下的AndroidManifest.xml文件查看 

aapt命令查看 

 Monkey  日志分析

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

异常情况

Monkey 测试出现错误后,一般的分析步骤

看Monkey的日志 (注意第一个swith以及异常信息等)

1. 程序无响应的问题: 在日志中搜索 “ANR”

2. 崩溃问题:在日志中搜索 “Exception”   (如果出现空指针, NullPointerException)  肯定是有bug

Monkey 执行中断, 在log最后也能看到当前执行次数

必须重视Crash

虽然Monkey测试有部分缺陷,我们无法准确地得知重现步骤, Monkey测试所出现的NullPointException,  都是可以在用户使用时出现的, 何时出现只是时间问题

理论上来说,  Monkey所有的Crash 都需要在发布前修复掉

 以上就是对Android Monkey压力测试的文章整理,后续继续补充,谢谢大家的支持!

您可能感兴趣的文章:详解appium+python 启动一个app步骤Python脚本在Appium库上对移动应用实现自动化测试详解Android单元测试最佳实践android开机自启动APP及使用adb命令测试方法Android利用Espresso进行UI自动化测试的方法详解在Android打包中区分测试和正式环境浅析Android单元测试之对Activity的测试示例浅谈Android单元测试的作用以及简单示例Android和iOS 测试五个最好的开源自动化工具Android 中构建快速可靠的 UI 测试简单谈谈android studio 的单元测试Ubuntu中为Android系统上实现内置C可执行程序测试Linux内核驱动程序Android App开发的自动化测试框架UI Automator使用教程Android自动测试工具Monkey的实现方法Android测试中Appium的一些错误解决技巧


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android Monkey压力测试详细介绍

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android Monkey压力测试详细介绍

Monkey 是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Android模拟器和实体设备上。 Monkey会发送伪随机的用户事件流,适合对app做压力测试 阅读目录环境搭建什么是MonkeyMonkey
2022-06-06

android压力测试命令monkey详解

一、Monkey 是什么?Monkey 就是SDK中附带的一个工具。 二、Monkey 测试的目的?:该工具用于进行压力测试。 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出现的问题。 三、Monkey 测试的特
2022-06-06

【压测】通过Jemeter进行压力测试(超详细)

文章目录 背景一、前言二、关于JMeter三、准备工作四、创建测试4.1、创建线程组4.2、配置元件4.3、构造HTTP请求4.4、添加HTTP请求头4.5、添加断言4.6、添加察看结果树4.7、添加Summary Report4.
2023-08-16

Android 调试工具用法详细介绍

本文主要为大家讲解多种Android调试工具的用法。 1. 查看当前堆栈 1)功能:在程序中加入代码,使可以在logcat中看到打印出的当前函数调用关系。 2)方法: new Exce
2022-06-06

Android手机信号强度检测详细介绍

最近到处在跑着找工作,难免在面试过程中遇到这样那样的问题,记得最清楚一次在面试过程中被问到,当手机处于弱网状态下,如何处理,如何监听网络信号强度变化。但是真是蒙了,回答的乱七八糟,思路一点都不明确。今天小编在这里带领大家了解下关于手机信号强
2022-06-06

小米随身wifi win8.1驱动安装步骤 小米随身wifi win8.1使用测试详细介绍

小米随身wifi在Windows8.1系统使用首先需安装小米随身wifi驱动程序,由于win7和win8系统上的差异造成许多用户在操作上的误区,接下来小编将带领大家一起在win8系统上玩转小米随身wifi。 准备工具 1.操作系统:wind
2023-06-05

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录