Monkey测试工具使用

article/2025/10/17 11:49:29

目录

1.monkey测试原理
2.Monkey启动架构图
3.Monkey为什么是Android测试工具原理解析
4.Monkey命令
5.Monkey日志分析

1.monkey测试原理
monkey是向系统发送一系列的伪随机的用户事件流,这些事件流包括:按键输入、触摸屏输入、手势输入。实现对应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性和健壮性。

2.Monkey启动架构图
在这里插入图片描述
在这里插入图片描述
3.Monkey为什么是Android测试工具原理解析
Monkey 程序是由 Android 系统自带,使用 Java 语言写成。在Android文件系统中的存放路径是:

/system/framework/monkey.jar;

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

/system/bin/monkey;

也就是说monkey可以直接通过打包进测试工具中,被测试人员直接使用,网络上许多第三方的monkey工具就是通过对原生的Monkey.jar包进行二次开发实现。

为什么说monkey是自带的命令
输入命令:

adb shell
cd /system/framework
/system/framework $ ls

在这里插入图片描述可以看到有Monkey的jar包,所以说Monkey命令是Android自带的命令。
是怎样运行Monley命令
输入命令:

 $ cd /system/bin$ ls

在这里插入图片描述
可以看到bin目录下包含有“Monkey”的shell脚本
可以通过命令:

$ cat monkey

在这里插入图片描述
4.Monkey命令
在这里插入图片描述

参数
使用命令
adb shell monkey
能够看到所有的Monkey命令
在这里插入图片描述(1)-p参数
获取所有三方包名:

adb shell pm list packages -3

在这里插入图片描述
指定APP Monkey测试

adb shell -p com.xiachufang 500

启动多个应用只需要增加多个 -p 包名字段就可以实现。
(2)-v参数
显示日志详细程度,命令行不同个数的-v会有不同的效果
-v:Level 0(缺省值)除 启动提示、测试完成和最终结果之外,提供较少信息。
-v -v :Level 1提供较为详细的测试信息,如逐个发送到Activity的 事件。
-v -v -v :Level 2提供更加详细的设置信息,如测试中被选中的或未被选中的Activity。

(3)-s参数
seed值,如果不指定seed值,会随机生成一个seed值,seed值的作用是指定发送的序列,seed一样,发送的序列才一样
输入命令:

adb shell monkey -s 123456 -v -p com.xiachufang 500

在这里插入图片描述
(4)–throttle
事件之间加入延时操作,在某些不需要频率过快,或需要定频率进行交互时,可以采用–throttle来做事件之间的延时操作。
输入命令:

adb shell monkey -s 123456 -v -p com.xiachufang --pct-touch 60 --throttle 300 100

(5)指定Monkey事件
在Monkey中,虽然输入的事件是随机产生的,但是可以指定输入事件类型的百分比,让其控制在我们需要的范围内。

 * --pct-touch <percent>:指定触摸事件的百分比。* --pct-motion <percent>:指定滑动事件的百分比。* --pct-trackball <percent>:指定轨迹球事件的百分比。* --pct-nav <percent>:指定导航事件中,up、down、left、right等事件的百分比。* --pct-majornav <percent>:指定导航事件中,back、menu等事件的百分比。* --pct-syskeys <percent>:指定系统按键的百分比,包括HOME、Back、音量等。* --pct-appswitch <percent>:指定Activity之间切换的比例。* --pct-anyevent <percent>:指定任意事件的百分比。

输入命令:

adb shell monkey -s 123456 -v -p com.xiachufang --pct-touch 60 500

指定touch事件占比60%
在这里插入图片描述
(6)–ignore-crashes 忽略崩溃/–ignore-timeouts 忽略超时/–ignore-security-exceptions 忽略安全异常
一般情况下,APP在操作过程中会存在崩溃、超时、异常等情况,按照前面所提到的,这会导致monkey直接停止测试。如果想要忽略掉这些情况,直接配置忽略设置就可以了。ps:这里的超时并不是网络超时,而是相应超时导致的ANR。

adb shell monkey -s 123456 -v -p com.xiachufang --ignore-crashes --ignore-timeouts --pct-touch 60 --throttle 300 100

5.Monkey日志分析
(1)Event percentages:
在这里插入图片描述

  • Event percentages本次测试的事件分布频率
  • 0:触摸事件百分比,即参数–pct-touch
    *1:滑动事件百分比,即参数–pct-motion
    *2:缩放事件百分比,即参数–pct-pinchzoom
    *3:轨迹球事件百分比,即参数–pct-trackball
    *4:屏幕旋转事件百分比,即参数–pct-rotation
    *5:获取危险权限事件百分比,即参数–pct-permission//低版本没有
    *6:基本导航事件百分比,即参数–pct-nav
    *7:主要导航事件百分比,即参数–pct-majornav
    *8:系统事件百分比,即参数–pct-syskeys
    *9:Activity启动事件百分比,即参数–pct-appswitch
    *10:键盘翻转事件百分比,即参数–pct-flip
    *11:其他事件百分比,即参数–pct-anyevent

5.1 log文件配置
将level 1的文件命名为verbose,主要是用来观看日志信息和事件分布信息
将level 2的文件命名为error。主要是用来观看error的信息,做进一步的bug分析。

2>D:\zuoting\works\Monkey测试/error.txt Level 2日志保存到电脑上的error.txt中
1>/sdcard/verbose.txt Level 1日志保存到sdcard上的verbose.txt中
在monkey自动化测试(命令行)这里我们需要在最后的命令行里面加上配置。

adb shell monkey -s 123456 -v -p com.xiachufang --ignore-crashes --ignore-timeouts --pct-touch 60 --throttle 300 100 2>D:\zuoting\works\Monkey测试/error.txt 1>D:\zuoting\works\Monkey测试/verbose.txt

5.2 获取log文件
error.txt 记录了MONKEY测试时产生的一些ANR、强制关闭等异常
verbose.txt 记录了MONKEY测试时发送的各种事件,如触摸事件的位置等等
log.txt 此文件在手机上的LOG文件夹中(data/log目录)中,主要记录程序对MONKEY测试时的响应情况


http://chatgpt.dhexx.cn/article/cI1CSpFL.shtml

相关文章

Android Monkey测试入门:安装sdk、studio、模拟器,并分析monkey日志

Android Monkey测试入门&#xff1a;安装sdk、studio、模拟器&#xff0c;并分析monkey测试报告结果 1. 安装Java JDK和android SDK2. 安装Andriod studio及模拟器3. 在模拟器上运行monkey测试3.1 手动植入简单缺陷 4. 分析monkey报告结果信息4.1 标准流4.2 错误流 5. 导出ANR文…

python+monkey实现app的monkey测试

目标&#xff1a; 使用monkey对当前windows电脑连接的一个或者多个手机设备&#xff0c;完成对某个app的monkey测试&#xff0c;输出monkey日志以及monkey脚本。思路&#xff1a; 通过terminal交互控制台&#xff0c;获取测试的app以及可以测试的设备。将获取的参数和固定的mo…

最全的monkey测试过程及分析

一、首先第一步安装Android SDK&#xff0c;完成后。编写测试脚本&#xff0c;我的脚本已经编写好。具体大家可以从网上Google针对自己的情况再进行详细的编改。 ECHO OFFECHO.:::::::::::::::::::::::::::::::::::::::::::::::::ECHO.:: 分析Monkey日志 …

【monkey】monkey测试入门

目录 一、安装 二、真机或者模拟器 三、基本命令 &#xff08;一&#xff09;基础参数 &#xff08;二&#xff09;调试选项 四、 停止命令 五、测试结果分析 &#xff08;一&#xff09; 初步分析方法 &#xff08;二&#xff09;一般的测试结果分析&#xff1a; 一、…

Monkey测试个人笔记

安卓monkey简介 Monkey是一款安卓自带的、java编写的app自动化测试工具&#xff0c;monkey是猴子的意思&#xff0c;所以从原理上说&#xff0c;它的自动化测试就类似猴子一样在软件上乱敲按键&#xff0c;猴子什么都不懂&#xff0c;就爱捣乱。Monkey原理也是类似&#xff0c;…

monkey测试工具

Monkey的概念&#xff1a; “猴子测试”是指没有测试经验的人甚至对计算机根本不了解的人&#xff08;就像猴子一样&#xff09;不需要知道程序的任何用户交互方面的知识&#xff0c;如果给他一个程序&#xff0c;他就会针对他看到的界面进行操作&#xff0c;其操作是无目的的…

Monkey的测试原理和方法

参考资料&#xff1a;http://blog.csdn.net/io_field/article/details/52189972 一、Monkey测试原理&#xff1a;Monkey是Android中的一个命令行工具&#xff0c;可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等)&#xf…

iOS端Monkey测试

说起Monkey测试&#xff0c;大家想到的是monkey测试只有安卓有&#xff0c;monkey测试只针对安卓app&#xff0c;今天给大家分享一下Monkey测试在iOS端也能跑&#xff01;iOS端app也能使用Monkey测试来执行稳定性测试。 一、环境准备 1、准备Mac设备&#xff0c;并安装xcodeI…

Monkey测试工具详解

Monkey测试工具简介&#xff1a; Monkey是Android SDK 中附带的一个工具&#xff1b;Monkey测试的原理&#xff1a;利用socket通讯&#xff08;Android客户端和服务器以TCP/UDP方式&#xff09;的方式来模拟用户的按键输入、触摸屏输入、手势输入等&#xff1b;Monkey测试的…

Android Monkey测试

monkey通常用于对app进行压力测试&#xff0c;通过monkey工具在模拟器或设备中产生类似用户点击、触摸、手势等一些系统级的伪随机事件流以测试app的稳定性&#xff0c;这好比一只猴子随意操作设备。 一、monkey原理 monkey是一个用java编写的脚本&#xff0c;设备中存放在sy…

Monkey测试全过程

1.monkey测试的概念 Monkey是Android中的一个命令行工具&#xff0c;可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等)&#xff0c;实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性…

Monkey测试(APP稳定性)

目录 1、Monkey简介 2、monkey程序介绍 3、Monkey测试前准备 4、Monkey测试命令 5、 Monkey测试结果&#xff08;pass或者fail&#xff09;的判断 6、Monkey Log的简单分析 7、汇总如图 1、Monkey简介 Monkey是Androld中的一个命令行工具&#xff0c;可以运行在模拟器里…

monkey 测试介绍

目录 前言 环境搭建 什么是Monkey Monkey 用来做什么 Monkey程序介绍 Monkey 架构 Monkey弱点 Monkey 参数大全 Monkey 命令 基本参数介绍 Monkey 实例 Monkey 查看包名 Monkey 日志分析 必须重视Crash 前言 Monkey 是Android SDK提供的一个命令行工具&#xff0…

一个简单的monkey测试工具

Monkey的概念&#xff1a; “猴子测试”是指没有测试经验的人甚至对计算机根本不了解的人&#xff08;就像猴子一样&#xff09;不需要知道程序的任何用户交互方面的知识&#xff0c;如果给他一个程序&#xff0c;他就会针对他看到的界面进行操作&#xff0c;其操作是无目的的…

monkey测试详解

一、monkey测试的定义 Monkey 测试是通过向系统发送伪随机的用户事件流&#xff08;如按键输入、触摸屏输入、手势输入等&#xff09;&#xff0c;实现对应用程序客户端的稳定性测试&#xff1b;通俗来说&#xff0c;Monkey 测试即“猴子测试”&#xff0c;是指像猴子一样&…

Monkey测试

一、什么是 Monkey 测试 Monkey 测试是通过向系统发送伪随机的用户事件流&#xff08;如按键输入、触摸屏输入、手势输入等&#xff09;&#xff0c;实现对应用程序客户端的稳定性测试&#xff1b;通俗来说&#xff0c;Monkey 测试即“猴子测试”&#xff0c;是指像猴子一样&a…

使用Monkey进行软件测试(随机测试+脚本测试)

文章目录 一、基础概念二、monkey测试的优缺点2.1 优点2.2缺点2.3 解决方案2.3.1 二次开发2.3.2 指定测试页面2.3.3 调整各种事件的比例2.3.3 编写自定义测试脚本2.3.4 分析APP特性&#xff0c;选择合适的方案 三、monkey测试的基本过程3.1 环境准备3.1.1环境3.1.2 配置过程 3.…

【Monkey测试】Monkey测试详解

一、什么是 Monkey 测试 Monkey 测试是通过向系统发送伪随机的用户事件流&#xff08;如按键输入、触摸屏输入、手势输入等&#xff09;&#xff0c;实现对应用程序客户端的稳定性测试&#xff1b;通俗来说&#xff0c;Monkey 测试即“猴子测试”&#xff0c;是指像猴子一样&a…

Linux 的 Kill -9命令

大家对kill -9 肯定非常熟悉&#xff0c;在工作中也经常用到。特别是你去重启tomcat时。 可是多半看来&#xff0c;我们对-9的理解只是表面而已。 很少有人&#xff08;包括我&#xff09;认真的去了解一下 kill -n 这个n到底是什么东东。自我批评一下。 好吧。我们来好好的认识…

kill进程.bat

输入端口号kill进程若出现中文乱码问题&#xff0c;则打开文件&#xff0c;点击另存为&#xff0c;将编码格式从UTF-8&#xff0c;改为ANSI&#xff0c;并将拓展名改为.bat&#xff0c;保存即可 echo off setlocal enabledelayedexpansion set /p port请输入端口号&#xff1…