Android的测试工具Monkey(yaozq翻译,仅供参考)

简介: Monkey是一个可以在模拟器或者实际设备中运行的命令行程序,它可以向程序中发出一系列的伪随机事件流(比如按键输入、触摸输入、手势输入等的用户事件和一些系统级的事件)。

Monkey是一个可以在模拟器或者实际设备中运行的命令行程序,它可以向程序中发出一系列的伪随机事件流(比如按键输入、触摸输入、手势输入等的用户事件和一些系统级的事件)。开发者可以通过Monkey工具以一种随机且可以重复的方式来对正在开发的程序进行压力测试。

Monkey使用综述

Monkey是一个可以在模拟器或者实际设备中运行的命令行程序,可以向程序中发出一系列的伪随机事件流,来对正在开发的程序进行压力测试。

Monkey工具包含很多可选项,主要可以分为4中基本类型:

-基本的配置选项,比如可以设定要发送的事件数。

-操作限制,比如可以限制只测试的一个应用程序包。

-测试事件的类型和测试频率

-调试选项

Monkey运行的时候,它将向系统发送随机产生的事件,并对测试下的系统进行观测,特别留意三种条件:

-当限制Monkey只对一个或者多个特定应用程序包进行测试的时候,it watches for attempts to navigate to any other package, and block them

-如果你的程序崩溃或者遇到了什么未处理的议程,Monkey将停止运行,并将错误显示出来。

-如果你的程序产生了一个无反应的错误,Monkey也将停止运行,并报告错误。

根据你设定的事件的多少,你将会在命令行中看到Monkey产生的事件和运行过程。

Monkey的使用方法

启动方式:可以通过使用命令行或者脚本文件来启动Monkey工具。因为Monkey工具运行在模拟器或者实际设备中,所以,你必须在模拟器或者实际设备的Shell中启动Monkey。如果你没进入shell中,你也可以在每个Monkey命令之前加上adb shell,当然如果你已经进入shell中,这种情况下直接使用Monkey命令就行了。

基本的使用方式如下:

$ adb shell monkey [options] <event-conunt>
如果没指定 options Monkey 将以一种 quiet(non-verbose) 模式启动,在这种模式下 Monkey 将向你的设备或模拟器上安装的每一个程序发送事件。下面是一种更典型的使用方式,具体功能就是向你的程序发送 500 个伪随机事件:

$ adb shell monkey -p your.package.name -v 500


命令中的 Options 可选参数

下面的表包含了可以在Monkey命令中所有可选项。

类型

可选参数option

描述

General

--help

打印一个简单的使用指导

-v

命令行中的每一个 -v都将增加verbosity levelverbosity的意思是冗余,具体意思就是关于测试信息的多少,level越高,测试信息月详细)。level0(默认)仅提供关于开始启动、测试完成和最重结果的很少的信息。Level1提供了更多的关于测试的信息,比如每一个正在发送给你的activities的事件。Level2又比Level1提供了更多的关于启动的信息,比如提供了要测试和不要进行测试的activities

Events

-s <seed>

伪随机事件产生器的seed值。如果你使用相同的seed值第二次运行 Monkey命令的时候,它将产生与第一次相同的伪随机事件。

--throttle <milliseconds>

在事件之间插入一个固定值。你可以通过这个option来减慢Monkey的运行。如果没指定这个值的话,事件之间没有停顿,事件产生器将以最快的速度产生命令。

--pct-touch <percent>

调整触摸事件的百分比(用户的触摸事件在屏幕上是down-up形式的)。

--pct-motion <percent>

调整移动事件的百分比。

--pct-trackball <percent>

调整trackball事件的百分比。

--pct-nav <percent>

调整导航事件的百分比。(导航事件主要是输入设备的方向键,比如向上、下、左、右)

--pct-majornav <percent>

调整主要的导航事件的百分比。

--pct-syskeys <percent>

调整系统按键事件(比如HomebackStart Call

--pct-appswitch <percent>

调整activity的启动百分比。

--pct-anyevent <percent>

调整其他类型事件的百分比。

Constraints

-p <allowed-package-name>

指定要测试的应用程序包名

-c <main-category>

指定要测试的categories

Debugging

--dbg-no-events

--hprof

--ignore-crashes

--ignore-timeouts

--ignore-security-exceptions

--kill-process-after-error

--monitor-native-crashes

--wait-dbg





相关文章
|
2月前
|
监控 安全 Android开发
【新手必读】Airtest测试Android手机常见的设置问题
【新手必读】Airtest测试Android手机常见的设置问题
|
3天前
|
Java API Android开发
Android 11 修改libcore Cipher AS测试
Android 11 修改libcore Cipher AS测试
13 1
|
1月前
|
监控 安全 Shell
深入探究App压力测试的关键要点:从零开始学习Monkey
Monkey是Google的自动化测试工具,用于模拟用户随机事件以测试应用的稳定性和压力。它可以在模拟器或设备上运行,通过随机点击发现潜在问题。
25 1
|
1月前
|
存储 Android开发 C++
【Android 从入门到出门】第五章:使用DataStore存储数据和测试
【Android 从入门到出门】第五章:使用DataStore存储数据和测试
34 3
|
1月前
|
存储 SQL 数据库
【Android 从入门到出门】第六章:使用Room数据库并测试
【Android 从入门到出门】第六章:使用Room数据库并测试
29 4
|
2月前
|
Java 测试技术 API
安卓APP和iOS APP在测试上的区别是什么?
安卓APP和iOS APP在测试上的区别是什么?
|
3月前
|
Web App开发 小程序 测试技术
最简单的Web Monkey 测试范例
最简单的Web Monkey 测试范例
|
3月前
|
测试技术 Shell Android开发
随机测试 Monkey Test
随机测试 Monkey Test
|
4月前
|
Linux 网络安全 开发工具
Android APP入门之Android的简介以及Android Studio开发环境的搭建和测试(2022最新 图文解释 简单易懂)
Android APP入门之Android的简介以及Android Studio开发环境的搭建和测试(2022最新 图文解释 简单易懂)
65 0
|
4月前
|
Java 测试技术 持续交付
百度搜索:蓝易云【NetMock简介:简化 Java,Android和Kotlin多平台中的HTTP请求测试?】
使用NetMock,您可以在单元测试、集成测试和端到端测试中轻松地模拟和验证HTTP请求和响应,而无需实际发送请求到外部服务。这样可以提高测试的可靠性和可控性,并加快测试执行的速度。无论是在开发过程中还是在持续集成环境中,NetMock都可以帮助您更轻松地进行HTTP请求测试,提高代码质量和稳定性。
41 1

热门文章

最新文章