软件测试|Monkey基本参数介绍

说到android移动端稳定性测试,大家通常会想到android系统自动Monkey小猴子,通过Monkey命令模拟用户触摸点击屏幕、滑动、系统按键等操作来对设备上的app进行压力测试,来测试应用的稳定性和健壮性。

下面就说说monkey常用参数的用法~~

1、-help

**
**

作用:列出简单的用法

2、–throttle <milliseconds>

**
**

作用:在事件之间插入固定的时间(毫秒)延迟,你可以使用这个设置来减缓Monkey的运行速度,如果你不指定这个参数,则事件之间将没有延迟,事件将以最快的速度生成。

一般这里设置为300毫秒,原因是实际上用户操作一个动作事件最快需要300毫秒左右,所以设置太小,也不符合正常用户的使用习惯,设置太大,又会发现不了问题。

用法: adb shell “monkey –throttle 300”

3、–pct-touch <percent>

**
**

作用:调整monkey命令触摸事件的百分比。(触摸事件是指在屏幕中的一个down-up事件,即在屏幕某处按下并抬起的操作),参数设置要根据被测应用程序的特点来修改设置。

用法:adb shell “monkey --pct-touch 100”

4、–pct-motion <percent>

**
**

作用:调整motion事件百分比。(motion事件是由屏幕上某处一个down事件、一系列伪随机的移动事件和一个up事件组成),需注意的是滑动事件是直线滑动,不适用曲线滑动。

用法:adb shell “monkey --pct-motion 100”

5、–pct-trackball <percent>

作用:调整滚动球事件百分比。(滚动球事件由一个或多个随机的移动事件组成,有时会伴随着点击事件)

这个参数现在不常使用,早期的android手机出厂自带滚动球,估计有些小伙伴们见过,但现在手机几乎没有滚动球,至少我没有见过,但滚动球事件中包含曲线滑动事件,如果被测应用需要曲线滑动时可以选用此参数。

用法:adb shell “monkey --pct-trackball 100”

6、–pct-nav <percent>

作用:调整基本的导航事件百分比。(导航事件由方向输入设备的上下左右按键所触发的事件组成),这个参数不常用。

用法:adb shell “monkey --pct-nav 100”

7、–pct-majornav <percent>

作用:调整主要导航事件的百分比。(这些导航事件通常会导致UI界面中的动作事件,如5-way键盘的中间键,回退按键、菜单按键),这个参数不常用。

用法:adb shell “monkey --pct-majornav 100”

8、–pct-syskeys <percent>

作用:调整系统事件百分比。(这些按键通常由系统保留使用,如Home、Back、Start Call、End Call、音量调节),这个参数的百分比通常比较小。

用法:adb shell “monkey --pct-syskeys 3”

9、–pct-appswitch <percent>

作用:调整Activity启动的百分比。(在随机的时间间隔中,Monkey将执行一个startActivity()调用,作为最大程度覆盖被测包中全部Activity的一种方法)

用法:adb shell “monkey --pct-appswitch 100”

10、–pct-anyevent

作用:调整其他事件的百分比。(这包含所有其他事件,如按键、其他在设备上不常用的按钮等),这个参数不常用。

用法:adb shell “monkey --pct-anyevent 100”

11、-p <allowed-package-name>

作用:如果你想指定一个或多个应用,Monkey将只启动这些包中的Activity。如果不指定任何包,Monkey将启动系统所有包的Activity。指定多个包,使用多个-p,一个-p后面接一个包名。

用法:adb shell “monkey -p com.Android.browser”

12、–ignore-crashes

作用:应用发生崩溃或异常时Monkey会停止运行。如果设置此项,Monkey将继续发送事件给系统,直到事件计数完成。

用法:adb shell “monkey --ignore-crashes”

13、–ignore-timeouts

作用:应用程序发生任何超时错误(例如:ANR)时,Monkey将停止运行,设置此项,Monkey将继续发送事件给系统,直到事件计数完成。

用法:adb shell “monkey --ignore-crashes”

14、–ignore-security-exception

**
**

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

用法:adb shell “monkey --ignore-security-exception”

15、–kill-process-after-error

作用:当Monkey由于一个错误而停止时,出错的应用程序将继续处于运行状态。设置此项,将会通知系统停止发生错误的进程。注意,正常(成功)的结束,并没有停止启动的进程,设备只是在结束事件之后简单的保持在最后的状态。

用法:adb shell “monkey --kill-process-after-error”

16、-v

作用:命令行上的每一个-v都将增加反馈信息的详细级别。(最多使用3个-v)

Level 0(默认),除了启动、测试完成和最终结果外只提供较少的信息。
Level 1,提供了较为详细的测试信息,如逐个发送到Activity的事件信息。
Level 2,提供了更多的设置信息,如测试中选中或未选中的Activity信息。

用法:adb shell “monkey -v -v -v”

17、-s<seed>

作用:伪随机数生成器的seed值。如果用相同的seed值再次运行monkey,将生成相同的事件序列。

用法:adb shell “monkey -s 300”

最近测试的项目属于短视频类的,这样结合这些monkey参数和被测应用的特点(滑动和点击操作比较多)。组合的monkey的命令如下:

adb shell “monkey -p com.xxx.video -v -v -v -s 100 --throttle 300 --pct-touch 35 --pct-motion 41 --pct-syskeys 2 --pct-appswitch 20 --pct-anyevent 2 --ignore-security-exceptions --ignore-crashes --ignore-timeouts 1000000 1 >/sdcard/xxxlog.txt 2> /sdcard/xxxlog_error.txt& logcat -v time -d >sdcard/xxx_logcat.txt”

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring笔记(二)(黑马)(AOP面向切面编程)

01、AOP 简介 1.1 AOP的概念 AOP&#xff0c;Aspect Oriented Programming&#xff0c;面向切面编程&#xff0c;是对面向对象编程OOP的升华。OOP是纵向对一个事物的抽象&#xff0c;一个对象包括静态的属性信息&#xff0c;包括动态的方法信息等。而AOP是横向的对不同事物的…

spdk用户态块层详解

先通过回顾内核态的通用块层来详细介绍SPDK通用块层&#xff0c;包括通用块层的架构、核心数据结构、数据流方面的考量等。最后描述基于通用块层之上的两个特性&#xff1a;一是逻辑卷的支持&#xff0c;基于通用块设备的Blobstore和各种逻辑卷的特性&#xff0c;精简配置&…

C# OpenCvSharp 去除文字中的线条

效果 中间过程效果 项目 代码 using OpenCvSharp; using System; using System.Drawing; using System.Windows.Forms; using static System.Net.Mime.MediaTypeNames;namespace OpenCvSharp_Demo {public partial class frmMain : Form{public frmMain(){InitializeComponent…

Spring面试题:(四)Spring Bean生命周期

Bean生命周期的阶段 实例化初始化完成销毁 IoC容器实例化Bean的流程 Bean定义 Bean工厂处理 反射实例化Bean 初始化 完成存储到单例池 Bean生命周期 Bean初始化话过程 属性填充aware接口BeanPostProcessor前置处理InitialzingBean接口初始化方法自定义init方法BeanPost…

Oracle(15)Managing Users

目录 一、基础知识 1、Users and Security 用户和安全 2、Database Schema 3、Checklist for Creating Users创建用户步骤 二、基础操作 1、创建一个用户 2、OS Authentication 操作系统身份验证 3、Dropping a User 删除用户 4、Getting User Information 获取用户信…

搭建自己的MQTT服务器,实现设备上云(Ubuntu+EMQX)

一、EMQX介绍 这篇文章教大家在ECS云服务器上部署EMQX,搭建自己私有的MQTT服务器,配置EMQX实现设备上云,设备数据转发,存储;服务器我采用的华为云的ECS服务器,系统选择Ubuntu系统。 Windows版本的看这里: https://blog.csdn.net/xiaolong1126626497/article/details/1…

经验模态分解(Empirical Mode Decomposition,EMD)(附代码)

代码原理 EMD&#xff08;Empirical Mode Decomposition&#xff09;&#xff0c;也称为经验模态分解&#xff0c;是一种将非线性和非平稳信号分解成多个本征模态函数&#xff08;Intrinsic Mode Functions&#xff0c;简称IMF&#xff09;的方法。 EMD的基本原理是通过一系列…

掌动智能:UI自动化测试工具产品功能和优势

UI自动化测试工具是一种软件工具&#xff0c;用于模拟用户与应用程序的交互&#xff0c;检查应用程序的用户界面是否按预期工作。这些工具允许开发人员编写测试脚本&#xff0c;以模拟用户操作&#xff0c;例如点击按钮、输入文本、导航菜单等&#xff0c;然后验证应用程序的响…

哪款手机便签软件支持存储录音文件并支持转文字?

手机便签类软件带有存储录音转文字功能是比较实用的&#xff0c;很多人通常会整理很多录音类型的文件&#xff0c;录音文件整合在一起后&#xff0c;后续有需要可以逐条点开播放收听。尤其是在工作中&#xff0c;当领导说一些重点时&#xff0c;大家无法借助灵活的大脑来成功的…

如何判断被DDoS攻击

当网络和设备正常的情况下&#xff0c;服务器突然出现连接断开、访问卡顿、用户掉线等情况;服务器CPU或内存占用率出现明显增长;网络出入流量出现明显增长;网站或应用程序突然出现大量的未知访问;登录服务器失败或者登录过慢等等。以上是最为常见的服务器被 DDoS攻击后出现的几…

2.3 - 网络协议 - ICMP协议工作原理,报文格式,抓包实战

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 ICMP协议 1、ICMP协议工作原理2、ICMP协议报文格式…

el-date-picker精确到分钟

0 效果 1 代码 使用format、value-format属性格式化即可 :clearable“false” // 取消删除图标 注意&#xff1a; format&#xff1a;“yyyy-MM-dd HH:mm” 小时默认是从00:00开始 format&#xff1a;“yyyy-MM-dd hh:mm” 小时默认是从12:00开始

【爬虫】Java爬虫爬取某招聘网站招聘信息

目录 前言 一、爬虫程序的基本架构 二、如何获取目标网站的页面内容 三、解析HTML页面&#xff0c;提取所需信息 四、代理IP的使用 五、完整代码 总结 前言 随着互联网的普及&#xff0c;越来越多的人开始关注网络上的招聘信息&#xff0c;而传统的求职方式愈发显得不够…

docker部署mysql

docker部署mysql Docker部署MySQL配置远程登录持久化数据创建容器时配置挂载卷后置配置挂载卷 Docker卸载MySQL部署特定版本mysql【出现1251错误】远程连接docker容器中的mysql8.0数据库时出现连接不上 Docker部署MySQL 要使用Docker部署MySQL&#xff0c;你可以使用官方的MyS…

伊朗黑客对以色列科技和教育领域发起破坏性网络攻击

导语 近期&#xff0c;以色列的高等教育和科技领域遭受了一系列破坏性的网络攻击。这些攻击始于2023年1月&#xff0c;旨在部署以前未记录的数据清除恶意软件。在最近的攻击中&#xff0c;攻击者试图窃取个人身份信息和知识产权等敏感数据。本文将介绍这些攻击的具体细节&#…

Go语言开发环境安装,hello world!

1. Go开发包SDK https://golang.google.cn/dl/&#xff08;国内也可以安装&#xff09; 根据自己电脑下载对应的安装包&#xff0c;我懒下载了msi安装 然后一路点确定安装Go 2.安装GoLand https://www.jetbrains.com/go/download/#sectionwindows 下载安装包 一路确定安装完…

大数据疫情分析及可视化系统 计算机竞赛

文章目录 0 前言2 开发简介3 数据集4 实现技术4.1 系统架构4.2 开发环境4.3 疫情地图4.3.1 填充图(Choropleth maps)4.3.2 气泡图 4.4 全国疫情实时追踪4.6 其他页面 5 关键代码最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 大数据疫…

Linux 安装 Nginx 并配置为系统服务(超详细)

目录 前言安装 Nginx安装依赖项下载Nginx解压Nginx编译和安装防火墙设置启动Nginx 配置 Nginx 为系统服务配置 Nginx 服务文件启动 Nginx 服务设置开机自启动检查 Nginx 状态停止 Nginx 服务重启 Nginx 服务 卸载 Nginx结语 前言 Nginx是一款卓越的高性能Web服务器&#xff0c…