mokey的介绍和使用

article/2025/10/27 19:59:36

一、monkey介绍

       monkey是Android  SDK提供的一个命令行工具,可以简单方便的发送伪随机的用户时间流,对Android APP做压力(稳定性、健壮性)测试。主要是为了测试APP是否存在无响应和崩溃的情况。

二、monkey的使用

1、前提条件:配置JDK和java环境;配置sdk和测试环境

2、测试adb是否安装成功:在dos窗口的命令行工具输入adb会出来adb的一些命令就说明成功了。如下图

3、连接手机: adb devices   了解成功的话会显示连接成功。如下图

4、查看手机安装的第三方apk包:adb shell pm list packages -3 。如下图

5、此时已经知道你要操作的包名了。然后就是从以下命令选择你要对APP进行哪些操作,一般是根据APP的特点来选取。

常用选项

      -v:指定打印信息的详细级别,一个 -v增加一个级别 , 默认级别为 0

            Level 0  :  adb shell monkey  -p com.tencent.qqmusic  -v 100  

                            最简单(默认),除了启动、测试完成和最终结果外只提供较少的信息。

            Level 1  :  adb shell monkey  -p com.tencent.qqmusic  -v  -v 100 

                            提供了较为详细的测试信息,如逐个发送到Activity的事件信息

            Level 2  :  adb shell monkey  -p com.tencent.qqmusic  -v  -v  -v 100

                            提供了更多的设置信息,如测试中选中或未选中的Activity信息

      -help:打印帮助信息

事件选项

      -s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如: -s 200

      --throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)

                        如:--throttle 100(毫秒)

      --pct-touch:指定触摸事件的百分比

                        如:--pct-touch 5% ,

                        相关的还有以下option:

                               --pct-motion <percent> (滑动事件)

                               --pct-pinchzoom <percent>(缩放事件)

                               --pct-trackball <percent> (轨迹球事件)

                               --pct-nav <percent> (导航事件 up/down/left/right)

                               --pct-majornav <percent> (主要导航事件 back key 、 menu key)

                               --pct-syskeys <percent> (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)、

                               --pct-appswitch <percent> (activity之间的切换)

                               --pct-flip <percent>(键盘翻转事件)

                               --pct-anyevent <percent>(任意事件)

约束选项

      -p:指定有效的package(如不指定,则对系统中所有package有效),一个-p 对应一个有效package

      -c:activity必须至少包含一个指定的category,才能被启动,否则启动不了

调试选项

      --dbg-no-events:初始化启动的activity,但是不产生任何事件

      --hprof:指定该项后在事件序列发送前后会立即生成分析报告  —— 一般建议指定该项。

      --ignore-crashes:忽略崩溃

      --ignore-timeouts:忽略超时

      --ignore-security-exceptions:忽略安全异常

      --kill-process-after-error:发生错误后直接杀掉进程

      --monitor-native-crashes:跟踪本地方法的崩溃问题

      --wait-dbg:知道连接了调试器才执行monkey测试

比如我的命令是:adb shell monkey -p **(包名)  -v -v -v --pct-touch 40 --pct-motion 50 --pct- appswitch 10 --throttle 200 --ignore-crashes --ignore-timeouts 100> D:\monkey\test02.log 

6、命令结束完去相应的路径下查看log就可以啦

三、日志分析

1、日志开头(注意seed值很重要,当出现问题想重现的时候牢记这个seed就可)

显示本次测试seed值,执行次数,测试包

:Monkey: seed=1559424502489 count=10

:AllowPackage: com.tencent.qqmusic

:IncludeCategory: android.intent.category.LAUNCHER

:IncludeCategory: android.intent.category.MONKEY

2、日志中间

各类型事件的百分比、发送到Activity的事件信息、错误信息等,根据指定的详细级别显示相应的信息

3、日志结尾

如果Monkey测试顺利执行完成,在log的最后,会打印出当前执行事件的次数和所花费的时间;Monkey finished代表执行完成。

(如果Monkey执行中断,在log的最后也能查看到当前已执行的次数。)

Events injected: 10

:Sending rotation degree=0, persist=false

:Dropped: keys=0 pointers=0 trackballs=0 flips=0 rotations=0

## Network stats: elapsed time=2794ms (0ms mobile, 0ms wifi, 2794ms not connected)

// Monkey finished

四、如果有崩溃、无响应等可在日志中搜索crash。或直接把日志给开发同事查看就可以啦。


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

相关文章

APP测试— 测试工具mokey

文章目录 1 Mokey概念2 运行Monkey&#xff08;对手机进行300次无规律点击&#xff09;3 Mokey常规参数4 Monkey 事件类参数5 Monkey 约束类参数 1 Mokey概念 1&#xff09;Monkey是Android SDK提供的一个命令行工具&#xff0c;可以简单、方便的运行任何版本的Android模拟器和…

Kafka配置用户名密码访问

1 软件版本 kafka_2.12-2.4.0.tgz&#xff08;带zookeeper&#xff09; 2 kafka服务端部署 2.1 将安装包上传到服务器&#xff0c;并解压 tar zxvf kafka_2.12-2.4.0.tgz -C /datamv kafka_2.12-2.4.0 kafka2.2 修改kafka配置文件 server.properties vim /data/kafka/conf…

linux 用户名和密码的处理

1. 创建新用户和密码 # 创建用户 testuser useradd testuser# 给已创建的用户testuser设置密码 passwd testuser# 新创建的用户会在 /home 下创建一个用户目录testuser# 修改用户这个命令的相关参数 usermod --help# 删除用户testuser userdel testuser# 删除用户所在目录rm -…

用户名,密码登录

1.导入项目需要的依赖&#xff0c;分层 注意&#xff1a;如果你的数据库是5.5的版本&#xff0c;依赖要用低版本的&#xff0c;高版本不稳定&#xff0c;新增的内容不识别&#xff0c;会报各种各样奇葩的错误 2.创建实体类 它的属性要和数据库字段对应 package com.oa.entity…

实现用户输入用户名和密码登录

题目 实现用户输入用户名和密码登录&#xff0c;当用户名为admin或administrator且密码为666666时&#xff0c;显示“登录成功”&#xff0c;否则显示“登录失败”&#xff0c;登录失败时允许重复输入三次。 实例 参考程序 User1 "admin" User2 "administr…

计算机用户名和初始密码,电脑默认的用户名和密码是多少

优质回答 回答者&#xff1a;止树2018 电脑用户默认是没有密码的&#xff0c;除非你设置了&#xff0c;没有设置的前提下&#xff0c;直接按回车键就可以进系统了。 电脑默认的用户是administrator&#xff0c;如果你创建了自己的新用户名&#xff0c;那么&#xff0c;原始管理…

服务器密码以及用户名怎么修改

服务器密码以及用户名怎么修改 我是艾西&#xff0c;今天给大家说下服务器密码如何修改 windows2003系统&#xff1a; 1、右键我的电脑&#xff0c;点击“管理”&#xff1a; 2、在“本地用户和组”中打开“用户”&#xff0c;在右侧找到 Administrator 账户进行修改。 200…

电脑更改开机密码和用户名

一、电脑更改开机密码 1、快捷键CtrlAltDel出现以下界面。 2、点击“更改密码”&#xff0c;出现修改密码的界面&#xff0c;输入旧的密码&#xff0c;以及新的密码&#xff0c;确定即可。 二、电脑更改开机用户名 1、打开电脑的”控制面板“。 2、在控制面板中点击“用户帐户…

基于51单片机的呼吸灯程序编写

利用51单片机编写的呼吸灯小程序&#xff0c;实验程序内容截图分享~

六、Arduino呼吸灯的实现

实验所需材料 Arduino UNO面包板LED灯一个330Ω电阻一个 连接示意图 如图所示&#xff0c;实验中我们将LED连接到了带PWM功能的D9引脚。 可以在 Arduino IDE菜单>文件>示例>03.Analog>Fading 打开呼吸灯示例程序&#xff0c;程序如下&#xff1a; int ledPin 9…

C语言实现呼吸灯(HAL库)

1. 呼吸灯原理 呼吸灯的实现可以通过控制灯的亮度连续变化&#xff0c;当变化的频率大于24帧时&#xff0c;肉眼看上去就会逐渐变暗&#xff0c;逐渐变亮。 2. PWM控制亮度 PWM通过设置亮度在一段时间内的占空比&#xff0c;亮的百分比多&#xff0c;人眼看到的就亮&#xf…

二、15【FPGA】呼吸灯实现

前言 学习说明此文档为本人的学习笔记&#xff0c;注重实践&#xff0c;关于理论部分会给出相应的学习链接。 学习视频&#xff1a;是根据野火FPGA视频教程——第十八讲 https://www.bilibili.com/video/BV1nQ4y1Z7zN?p3 实战演练 一、设计规划 1.1 实验目标 在开发板上…

基于FPGA实践之呼吸灯(含程序)

呼吸灯是指灯光在微电脑的控制之下完成由亮到暗的逐渐变化&#xff0c;感觉好像是人在呼吸。 在单片机中我们调节PWM波的占空比可以实现一个周期内高电平占百分比&#xff0c;这个百分比固定就可以调节亮度&#xff0c;这个百分比是动态的&#xff0c;那么灯的亮度也是动态的&…

Verilog实现呼吸灯效果

呼吸灯的效果采用PWM调波的形式&#xff0c;即快速的改变每个周期的占空比&#xff08;一个周期内高电平时间占一个周期时间的比值&#xff09;来实现点亮到熄灭的效果。示意如下图 而关于整个波形图&#xff0c;用50MHz的晶振&#xff0c;从0开始计数到49则为1us。 而1ms是1u…

呼吸灯

呼吸灯 呼吸灯&#xff0c;就是控制led灯的亮度从弱变强、从强变弱的循环往复&#xff0c;从而实现像呼吸一样的效果。改变电压即可改变led灯的亮度&#xff0c;但是用代码控制led灯两端电压显然是不现实的&#xff0c;我们可以用控制脉冲宽度的方式来控制led灯点亮的时间&…

C51单片机实现呼吸灯

呼吸灯的效果是灯的亮度由暗缓慢变亮再缓慢变暗。 实现思路是改变小灯亮与暗在单位周期的占空比。如下图 具体代码如下&#xff1a; #include<reg52.h> typedef unsigned int u16; typedef unsigned char u8;sbit LEDP2^0; void delay(u16 i) {while(i--); }void ma…

Arduino程序设计(一) 流水灯+呼吸灯

LED灯程序设计 前言一、LED灯的程序设计1 —— 频闪灯二、LED灯的程序设计2 —— 流水灯三、LED灯的程序设计3 —— 呼吸灯总结参考文献 前言 本文主要介绍三种LED灯的程序设计&#xff0c;即频闪灯、流水灯和呼吸灯。本文使用的MCU芯片为ESP8266EX&#xff0c;程序编写使用Ar…

51单片机呼吸灯的实现

1.PWM介绍 PWM&#xff08;Pulse Width Modulation&#xff09;即脉冲宽度调制&#xff08;如电机&#xff1a;转5ms停1ms还是转5ms停2ms&#xff09;&#xff0c;在具有惯性的系统中&#xff0c;可以通过对一系列脉冲的宽度进行调制&#xff0c;来等效地获得所需要的模拟参量…

呼吸灯——FPGA

文章目录 前言一、呼吸灯是什么&#xff1f;1、介绍2、占空比调节示意图 二、系统设计1、系统框图2、RTL视图 三、源码四、效果五、总结六、参考资料 前言 环境&#xff1a; 1、Quartus18.0 2、vscode 3、板子型号&#xff1a;EP4CE6F17C8 要求&#xff1a; 将四个LED灯实现循环…

51单片机——实现呼吸灯程序代码

实现效果如图&#xff1a; 注&#xff1a;该51单片机led灯引脚为P2^ 0 - P2^7,实际代码按照引脚图实现。 代码如下&#xff1a; #include<reg52.h> typedef unsigned int uint; typedef unsigned char uchar; //--------------Delay--------------------void Delay(uin…