iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Monkey测试
  • 417
分享到

Monkey测试

androidadb 2023-08-17 09:08:22 417人浏览 安东尼
摘要

一、什么是 Monkey 测试 Monkey 测试是通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对应用程序客户端的稳定性测试;通俗来说,Monkey 测试即“猴子测试”,是指像猴子一样,不知道程序的任何用户交

一、什么是 Monkey 测试

  • Monkey 测试是通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对应用程序客户端的稳定性测试;
  • 通俗来说,Monkey 测试即“猴子测试”,是指像猴子一样,不知道程序的任何用户交互方面的知识,就对界面进行无目的、乱点乱按的操作;
  • Monkey 测试是一种为了测试软件的稳定性、健壮性的快速有效的方法;
  • Monkey 程序是 Android 系统自带的,由 Java语言写成,在 Android 文件系统中存放路径: /system/framework/monkey.jar
  • Monkey程序需要通过 adb 来运行

二、操作步骤

安装并配置好 adb 环境,可在cmd窗口输入adb shell命令验证

通过 adb 连接好设备;

(1).在手机上设置【设置】–【系统设置】–【开发人员选项】–打开【开发人员选项】–开启【USB调试】模式;

(2).将手机通过数据线和电脑相连接,使用adb devices 命令来查看设备连接是否正常

(2)关闭屏,保持常亮

获取被测应用的包名;

方法一: 通过adb命令

a、PC连接Android设备

b、Android设备中点开app,app的任何界面都可以;

c、cmd命令行中输入:adb shell dumpsys window w |findstr / |findstr name=

如下图:其中 com.im.todayz为应用包名 ,fw.earntoday.ui.activity.MainActivity为当前运行的activity界面
在这里插入图片描述

方法二:aapt命令查看(aapt是sdk自带的一个工具,在sdk/builds-tools目录下,需要添加到环境变量)

命令: aapt dump badging + apk所在的绝对路径 + apk文件名称

例如:aapt dump badging C:\Users\admin\Desktop\app-Google-release-1.8.7.apk

运行后的结果中以下两行分别是应用包名package和入口activity名称

package: name=’com.estrongs.android.pop’
launchable-activity: name=’com.estrongs.android.pop.view.FileExplorerActivity’

手机上安装好被测应用,打开cmd命令界面执行 Monkey 命令进行测试

三、Monkey 命令说明

adb shell monkey + 行为参数 + “>” + {日志保存路径}

示例:

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

  1. -p + {被测应用包名} 指定一个或多个包,只针对指定包名进行测试 如:adb shell monkey -p com.htc.Weather –p com.htc.pdfreader
  2. -s {数字} 指定测试的种子值/序列值,规定操作步骤,如果使用相同的 seed 值再次运行 Monkey,将生成相同的事件序列。用于测试验证,复现bug。只有自己一个测试的时候可以随便取一个数字
  3. –throttle + {毫秒单位时间} 如:–throttle 100 事件之间插入的固定延迟,单位毫秒。通过这个选项可以减缓Monkey的执行速度。如果不指定,Monkey将尽可能快的产生并执行事件
  4. –ignore-timeouts 测试时忽略应用程序发生的超时错误,若发生超时,将继续发送事件给系统,直到事件计数完成(若不设置此项,在遇到超时时,Monkey测试 将停止运行)
  5. –ignore-security-exception 测试时忽略程序发生的异常错误,若发生异常,将继续发送事件给系统,直到事件计数完成(若不设置此项,在遇到异常时,Monkey 将停止运行)
  6. –ignore-crashes 测试时忽略应用程序崩溃(Force&Close错误),若发生奔溃,将继续发送事件给系统,直到事件计数完成(若不设置此项,在遇到奔溃时,Monkey 将停止运行
  7. –ignore-native-crashes 测试时忽略本地代码导致的崩溃,若发生崩溃,将继续发送事件给系统,直到事件计数完成(若不设置此项,在遇到本地代码导致的奔溃时,Monkey 将停止运行)
  8. –monitor-native-crashes 监视崩溃时的本地代码
  9. {数字} 1000000 Monkey 测试事件次数,也即指令次数
  10. -v 每个 -v 都将增加反馈信息的级别。共3个级别,因此 -v -v -v 可以提供最详细的设置信息。
    -v:0级,除启动提示、测试完成和最终结果外提供较少信息
    -v -v:1级,提供较详细测试信息,如逐个发送到 Activity 的事件
    -v -v -v:2级,提供更详细安装信息,如测试中被选中或未被选中的 Activity
  11. > + {日志路径} > d:\mylog.log Monkey 测试日志记录文件,若文件存在则直接记录到文件,若文件不存在则会自动创建文件记录
  12. 关于事件数的百分比,一般情况下不需要去修改。除非是测试的某一个动作是高概率事件的时候
    [–pct-touch PERCENT 触摸事件百分比
    [–pct-motion PERCENT] 滑动事件百分比
    [–pct-trackball PERCENT] 轨迹事件百分比
    [–pct-syskeys PERCENT] 系统事件百分比
    [–pct-nav PERCENT] 基本导航事件百分比
    [–pct-majornav PERCENT] 主要导航事件百分比
    [–pct-appswitch PERCENT] Activity启动事件百分比
    [–pct-flip PERCENT] 键盘翻转事件百分比
    [–pct-anyevent PERCENT] 其它事件百分比
    [–pct-pinchzoom PERCENT] 缩放事件百分比

四、结果分析整理

从 Monkey 日志中看问题:

程序无响应的问题:在日志中搜索 “ANR”
2、 崩溃问题:在日志中搜索 “Exception”或Crash

来源地址:https://blog.csdn.net/baidu_24752135/article/details/127997809

--结束END--

本文标题: Monkey测试

本文链接: http://www.lsjlt.com/news/372596.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Monkey测试
    一、什么是 Monkey 测试 Monkey 测试是通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对应用程序客户端的稳定性测试;通俗来说,Monkey 测试即“猴子测试”,是指像猴子一样,不知道程序的任何用户交...
    99+
    2023-08-17
    android adb
  • Monkey的测试原理是什么
    Monkey测试是一种随机测试方法,用于测试软件系统的稳定性和健壮性。Monkey测试的原理是通过模拟随机用户的操作行为,如点击、滑...
    99+
    2023-09-11
    Monkey
  • APP压力稳定性测试中如何进行Monkey入门实战
    APP压力稳定性测试中如何进行Monkey入门实战,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Monkey测试简介在android手机上做自动化测试,monkey比cts...
    99+
    2023-06-05
  • 老菜鸟带你皮一下:你从来没有想过的Monkey测试!
    Monkey,也就是猴子,hin皮,所以Monkey测试,顾名思义也就像猴子一样在软件上乱敲按键来测试。猴子什么都不懂,只知道乱按。Monkey原理也是类似,通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对应用...
    99+
    2023-06-05
  • 如何测试测试用例?
    编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天编程网就整理分享《如何测试测试用例?》,文章讲解的...
    99+
    2024-04-05
  • Python 单元测试 & 文档测试
    1.1   单元测试1.1.1   单元测试编写单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。编写一个Dict类,这个类的行为和dict一致,但是通过属性来访问。>>> d = Dict(a=1,...
    99+
    2023-01-31
    单元测试 文档 测试
  • Yii框架的测试武器库:单元测试、功能测试和集成测试
    范围:单元测试关注代码的特定部分,而不考虑外部依赖关系。它们验证代码的行为是否符合预期,并覆盖所有代码路径。 优点: 快速执行 容易维护 可以自动化并集成到持续集成管道中 缺点: 无法测试代码的依赖关系集成 覆盖面可能不全面,可能遗...
    99+
    2024-04-02
  • 软件测试中的黑盒测试是怎样测试啊
    黑盒测试是一种软件测试方法,测试人员在测试过程中只关注系统的输入和输出,不考虑系统内部的实现细节。测试人员主要通过输入数据来触发系统...
    99+
    2023-08-18
    软件测试
  • 软件测试-接口测试-代码实现接口测试
    文章目录 1.request 1.1 request介绍 1.2 发送get请求 1.3 发送set请求 1.4 其...
    99+
    2023-09-06
    php json
  • 前端单元测试之UI测试功能性代码测试教程
    目录前言UI测试:功能性代码测试:让人闻风丧胆的单元测试代码测试代码Jest介绍一、基础教程安装源码开发测试用例编写开始测试二、核心API全局方法匹配器异步代码测试回调Promise...
    99+
    2022-11-13
    前端单元测试 前端UI测试 前端功能性代码测试
  • 测试魔力:揭开 Nest.js 测试秘密
    单元测试: Nest.js 的单元测试使用 Jest 框架。Jest 提供了丰富的测试断言和模拟功能,可以轻松对控制器、服务和存储库进行单元测试。Nest.js 团队通过提供一个名为 @nestjs/testing 的模块扩展了 Jest...
    99+
    2024-04-03
    引言: Nest.js 是一个流行的 Node.js 框架 它提供了一套全面的测试工具 帮助开发者编写可靠且可维护的代码。本文将深入探讨 Nest.js 测试生态系统 揭开它背后的秘密。
  • @SpringBootTest单元测试测试类的使用
    前言 使用SpringBoot 测试类可在不需要启动程序时,即可使用。当你运行你的测试方法时他会自己启动程序调用所需使用到的mapper,service接口,实现方法。故而可在测试类中像编写正常service方法一样编写代码 一.依赖录入 ...
    99+
    2023-08-21
    单元测试 junit java
  • python+pytest自动化测试函数测试类测试方法的封装
    目录前言一、测试用例封装的一般规则三、测试类/方法的封装四、示例代码总结前言 今天呢,笔者想和大家聊聊python+pytest接口自动化中将代码进行封装,只有将测试代码进行封装,才...
    99+
    2024-04-02
  • 【星云测试】开发者测试-采用精准测试工具对Spring Boot应用进行测试
    简介:本文主要介绍把现今主流的springboot框架项目和精准测试工具进行结合和应用,通过精准测试的数据穿透、数据采集、测试用例与代码的双向追溯、数据分析等一系列精准测试的特有功能,达到对项目质量的保证。 本次环境搭建分为基础环...
    99+
    2023-06-02
  • PHP PHPUnit测试:自动化测试管道
    引言 在快速变化的软件开发环境中,自动化测试对于确保代码库的质量和稳定性至关重要。PHPUnit 是一个流行的 PHP 单元测试框架,可以帮助开发人员创建自动化测试管道,为应用程序提供安全网。 自动化测试的优势 提高代码质量:通过识别缺...
    99+
    2024-04-02
  • 测试TLS客户端的单元测试
    在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天编程网就整理分享《测试TLS客户端的单元测试》,聊聊,希望可...
    99+
    2024-04-04
  • Java黑盒测试之nextDate函数测试
    目录一、实验目的二、实验内容三、实验要求四、实验过程五、缺陷分析一、实验目的 (1)掌握应用黑盒测试技术进行测试用例设计。 (2)掌握对测试用例进行优化设计方法。 二、实验内容 日期...
    99+
    2024-04-02
  • 手工测试如何转自动化测试
    我接触了太多测试同行,由于多数同行之前一直做手工测试,现在很迫切希望做自动化测试,其中不乏工作5年以上的同行。 我 从事软件自动化测试已经数年了,接触过底层服务端、API 、Web、APP、H5 等等,对自动化算是比较了...
    99+
    2023-06-02
  • 让用户帮你做测试(A/B测试)
    我们知道,只要有软件就会有bug。一者,再严格的测试也只是抽样活动,总会有bug被遗留下来。再者,做软件也是一种商业行为,对质量的投入要看ROI。基于以上两种原因,软件或者系统发布时总会或多或少带点bug。对于这些bug,我们要看它的影响程...
    99+
    2023-06-05
  • 单元测试与集成测试在golang函数测试中的区别?
    单元测试和集成测试是两种不同的 go 函数测试类型,分别用于验证单个函数或多个函数的交互和集成。单元测试只测试特定函数的基本功能,集成测试测试多个函数之间的交互和与应用程序其他部分的集成...
    99+
    2024-04-27
    单元测试 集成测试 golang
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作