App压力稳定性测试之Monkey

news2024/10/1 9:46:32

目录

前言:

一、Monkey简介

二、monkey常见命令

三、日志导出


前言:

Monkey测试是一种黑盒测试方法,用于测试Android应用程序的压力稳定性,目的是评估应用在极端情况下是否能够稳定、可靠地工作。它是Android SDK自带的一个工具,可以随机生成伪造的触屏事件、按键事件等,模拟人类的随机操作,以此来测试应用程序的稳定性。适当的Monkey测试可以帮助开发人员发现未知Bug,提高应用程序的稳定性和可靠性。

一、Monkey简介

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

Monkey的使用是在产品稳定了,没有特别多的Bug时候。用monkey去测试待测应用的稳定性、健壮性(是否会发生闪退、崩溃),手机出厂前的整机测试。Monkey犹如其猴子的译名,就是杂乱无章的乱点,通过指定执行点击次数,不断的点击安卓系统,或者指定的App,给系统产生压力。

注意:在使用Monkey之前,需要利用adb将PC端与安卓设备连接。

二、monkey常见命令

1.1、调出说明手册

命令:adbshellmonkey–help或者-h

这个命令可以查看monkey使用的说明,如下:

1.2、monkey基本命令格式:adbshellmonkey{+命令参数}[执行事件次数]

例如:adbshellmonkey-v100

命令参数例如:-p,-v,-c事件:一个点击、一个回退,等就是一个事件

1.3、命令参数

注意:所有的参数都需要放在monkey和设置的事件次数之间,参数的顺序可以调整;若带了-p,-p最好放在monkey之后。

例:

adbshellmonkey-p<包名>--throttle1000--ignore-crashes--ignore-timeouts--ignore-security-exceptions--ignore-native-crashes--monitor-native-crashes-v-v-v-s300500

1.3.1、打印日志等级

-v:用于指定反馈信息级别(信息级别就是日志的详细程度)。

总共分3个级别;

一级:-v//默认级别,仅提供启动、测试完成和最终结果等少量信息

二级:-v–v//提供较为详细的日志,包括每个发送到Activity的事件信息

三级:-v-v-v//提供最详细的日志,包括了测试中选中/未选中的Activity信息

例如:adbshellmonkey-v-v-v100

1.3.2、指定测试App

-p<App包名>:增加App的包名时,可以只针对该App进行压力测试;

包名可同时添加多个,同时对多个App测试;

不加"-p<App包名>"时,则对安卓系统进行测试。

例:1)对一个App测试

adbshellmonkey-pcom.tecentmobileqq-v-v-v300

2)对两个App进行测试

adbshellmonkey-pcom.lemon.lemon-pcom.tecentmobileqq-v-v-v300

1.3.3、seed值

-s用于指定随机数生成器的seed值;

如果前后两次使用monkey时seed值相同,测两次monkey测试所产生的事件序列也相同。用于问题重现;

seed值相当于执行顺序,可以是300、400等。但是遇到问题,需要再次使用monkey复现问题时,seed必须相同。可以直接运行上一次的命令。

格式:

adbshellmonkey-p<包名>-v-v-v-s<seed值>[执行事件次数]

例:

adbshellmonkey-pcom.tecentmobileqq-v-v-v-s4001000

【400:seed的值,1000:执行事件次数】【复现同一问题时,将此命令重新输一遍】

1.3.4、操作时延

--throttle<毫秒>用于指定用户操作(即事件)间的时延,单位是毫秒。

例如:时延为1秒,在执行点击事件后等1秒在进行回退事件。

格式:

adbshellmonkey-v-v-v-p<包名>-s<seed值>--throttle1000[执行事件次数]

例:

adbshellmonkey-v-v-v-pcom.tecentmobileqq-s300--throttle1000500【--throttle1000指时间间隔为一秒】

1.3.5、忽略超时和崩溃

monkey测试的过程中遇到crash(崩溃)或者timeout(超时)的情况时,会停止测试。如果想在遇到crash或者timeout时继续运行指令,需要加--ignore-crashes--ignore-timeouts将crash和timeout忽略掉。

格式:

adbshellmonkey-p<包名>--throttle1000--ignore-crashes--ignore-timeouts-v-v-v-s300500

三、日志导出

Monkey执行过程中产生异常时,需要把日志导出,将异常信息找出。

1、直接将日志打印至PC端

命令:

adbshellmonkey-p<包名>-v-v-v[执行事件次数]><PC端存放目录>

可以在执行monkey过程中,直接将日志存放至PC端。

例:

adbshellmonkey-p<包名>-v-v-v200D:\log.txt

2、执行完monkey之后导出日志

命令:

adblogcat–vtime>D:\log.txt拉取的日志自带时间

3、日志定位

当日志生成后,我们需要进入日志当中查看是否有APP崩溃记录或者无响应记录。

查找关键字:

A、崩溃记录查找”CRASH”;

B、无响应记录查找”ANR”;

C、内存泄露问题搜索"GC"(需进一步分析);

D、异常问题搜索“Exception”;

 作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N5K3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=6gweEAHLIo-VjldEz9_yMjFfeBIGgEu2&authKey=MC4ik2bydrYxO5if1oNFzT6c93XUrxOxYtv7IRYOVRDNh47xpEllgkFVDlFD%2Bf6M&noverify=0&group_code=574737577

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/686972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

起动元件框图原理

&#xff08;一&#xff09;起动元件作用 为了提高保护动作的可靠性&#xff0c;保护装置的出口均经起动元件闭锁&#xff0c;只有在保护起动元 件起动后&#xff0c;保护装置出口闭锁才被解除。在微机保护装置里&#xff0c;起动元件是由软件来完成的。起动元件起动后&#…

鞣花酸爆增1226%?油橄榄、雪绒花大展拳脚? | 5月功效成分TOP100

数说故事联合用户说共创的5月功效成分榜单如约而至。 本期依旧是你最关注的两大榜单&#xff1a;5月用户最关注功效成分声量TOP100和5月用户最关注功效成分变量TOP100。 榜单通过整合全网社交媒体的声量&#xff0c;并构建指数体系&#xff0c;实时动态监控互联网关键成分的声…

RabbitMQ消息队列的工作模式

文章目录 1.RabbitMQ常用的工作模式2.简单模式3.WorkQueues工作队列模式4.Pub/Sub发布订阅模式5.Routing路由模式6.Topics通配符模式 1.RabbitMQ常用的工作模式 官方文档地址&#xff1a;https://www.rabbitmq.com/getstarted.html 工作模式其实就是消息队列分发消息的路由方…

mysql死锁问题分析

死锁问题分析 起因 起因是线上报了一个死锁问题&#xff0c;然后我就去查看下死锁的原因。 思路 死锁问题的排查&#xff0c; **日常工作中&#xff0c;应对各类线上异常都要有我们自己的 SOP (标准作业流程) ** &#xff0c;这样不仅能够提高自己的处理问题效率&#xff…

智能本质上是人性的拓扑

智能技术的发展是基于人类智慧和思维方式的延伸和拓展&#xff0c;人类的智慧和思维方式是智能的基础&#xff0c;人类是智能技术的创造者和主导者。然而&#xff0c;人工智能技术却与人性并不一致&#xff0c;根本上&#xff0c;人工智能技术并不具备人类的情感、道德、意识等…

适配器模式(Adapter)

定义 适配器是一种结构型设计模式&#xff0c;它能使接口不兼容的对象能够相互合作。 别名 封装器模式&#xff08;Wrapper&#xff09;。 前言 1. 问题 假如你正在开发一款股票市场监测程序&#xff0c;它会从不同来源下载 XML 格式的股票数据&#xff0c;然后向用户呈现…

通过skia导出pdf 生成超链接 skia pdfdocument annotation pdflink

如题 最近导出pdf &#xff0c;想实现文本支持超链接跳转, 看了下skia的官网文档, 翻墙找各种资料 就是找不到关于怎么实现&#xff0c;毫无头绪咋办呢 我想了一下 1.粗略翻阅了下pdf的格式 了解了下基本的构成 啥root page text 啥的 2.通过pdf格式了解到 链接是通过LinkAn…

npm发布自己的公网包步骤详解

初始化项目 比如我&#xff0c;创建了code-transfor-text_vue项目 根目录初始化git git init .建立开源协议 给项目根目录手动创建LICENSE文件文件&#xff0c;没有后缀名 MIT LicenseCopyright (c) 2023 quanyiPermission is hereby granted, free of charge, to any pers…

Verdaccio搭建本地npm仓库

背景 Verdaccio 是一个 Node.js创建的轻量的私有npm proxy registry 我们在开发npm包的时候&#xff0c;经常需要验证发包流程&#xff0c;或者开发的npm包仅局限于公司内部使用时&#xff0c;就可以借助Verdaccio搭建一个npm仓库&#xff0c;搭建完之后&#xff0c;只要更改np…

DataLeap的全链路智能监控报警实践(二):概念介绍

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 概念介绍 基线监控 根据监控规则和任务运行情况&#xff0c;DataLeap的基线监控能够决策是否报警、何时报警、如何报警以及给谁报警。它保障的是任务整体产出链路&a…

MySQL 数据库操作指南:学习如何使用 Python 进行增删改查操作

文章目录 MySQL 知识点1.1 数据库创建和选择1.2 数据表创建和修改1.3 插入数据1.4 查询数据1.5 更新和删除数据 1.6 索引的创建和使用1.7 外键的使用 Python 中使用 MySQL2.1 连接数据库2.2 创建数据库和数据表2.3 插入数据2.4 查询数据2.5 更新和删除数据2.6 关闭连接 2.7 数据…

【算法系列之贪心算法I】leetcode376. 摆动序列

455.分发饼干 力扣题目链接 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&…

详细讲解!接口性能测试方案

目录 前言&#xff1a; 性能测试术语解释 性能测试方法及目标 性能需求分析 性能测试范围 性能测试用例与场景 性能测试工具选择 性能测试结果分析 性能测试通过标准 前言&#xff1a; 接口性能测试是指测试系统中各个接口的性能&#xff0c;包括响应时间、吞吐量、并…

现在企业都在强调的客户体验,如何从官网帮助文档入手?

在当前激烈的市场竞争中&#xff0c;企业已经逐渐意识到客户体验的重要性。客户体验是指通过产品和服务所提供的一系列互动和接触&#xff0c;客户对企业的全面感受和评价。而在客户体验中&#xff0c;官网帮助文档作为企业与客户之间互动的重要环节&#xff0c;也扮演着重要的…

性能测试之测试指标

目录 前言 系统性能指标 资源指标 中间件指标 数据库指标 前端指标 稳定性指标 批量处理指标 可扩展性指标 可靠性指标 前言 性能测试是测试一个系统在特定条件下的响应时间、并发用户数、吞吐量、内存使用率、CPU利用率、网络延迟等各项指标的过程。测试指标是根据…

Alibaba Cloud Linux 3.2104 LTS 64位 安装lnmp环境php8、mysql8

Alibaba Cloud Linux 3.2104 LTS 64位服务器安装lnmp环境全过程 以下都为阿里云购买的服务器为例 前言 购买了阿里云的服务器之后切记切记切记&#xff01; 第一步设置&#xff1a;更多> 网络和安全组> 安全组配置>入方向 第二步 设置root账户的密码&#xff08;如…

如何在矩池云复现开源对话语言模型 ChatGLM

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型&#xff0c;基于 General Language Model (GLM) 架构&#xff0c;具有 62 亿参数。结合模型量化技术&#xff0c;用户可以在消费级的显卡上进行本地部署&#xff08;INT4 量化级别下最低只需 6GB 显存&#xff09;。 Chat…

ART-Pi BT_WiFi 模块固件下载

源文件《UM5003-RT-Thread ART-Pi BT_WIFI 模块固件下载手册.md》 ART-Pi BT_WiFi 模块固件下载 ART-Pi 板卡在出厂时已经烧录过 BT_WiFi 固件&#xff0c;存储在外部 Flash。如果固件被不慎擦除&#xff0c;会导致 BT_WiFi 模组的功能无法正常使用&#xff0c;出现异常情况&…

【图像处理OpenCV(C++版)】——5.2 图像平滑之高斯平滑

前言&#xff1a; &#x1f60a;&#x1f60a;&#x1f60a;欢迎来到本博客&#x1f60a;&#x1f60a;&#x1f60a; &#x1f31f;&#x1f31f;&#x1f31f; 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义&#xff0c;适用于平时学习、工作快…

RabbitMQ常见的应用问题

文章目录 1.消息可靠性保障2.消息的幂等性保障 1.消息可靠性保障 在实际生产环境中&#xff0c;可能会由于网络问题导致消息接收异常产生某种影响&#xff0c;基于这种情况我们需要保障消息的可靠性。 RabbitMQ中的消息可靠性也称为消息补偿&#xff0c;如下图所示&#xff0…