news 2026/8/22 0:44:11

使用Monkey命令做简单的安卓APP稳定性测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用Monkey命令做简单的安卓APP稳定性测试

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

Monkey 是SDK中附带的一个工具,所有的事件都是随机产生的,不带任何人的主观性。Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar。

Monkey是一个命令行工具,使用安卓调试桥(adb)来运行它,模拟用户触摸屏幕、滑动Trackball、按键等随机事件流来对设备上的程序进行压力测试,检测程序多久的时间会发生异常,可以根据获取的log信息进行修复。

一、使用Monkey命令,需要安装ADB环境

(Monkey测试使用的是ADB命令,因此只需要配置ADB环境即可。)

ADB是一个安卓调试器,简介阅读:

https://developer.android.google.cn/studio/command-line/adb

1、下载ADB的官网地址:

https://developer.android.google.cn/studio/releases/platform-tools

找到SDK Platform Tools下载,根据自己当前使用系统下载适合的版本,windows系统则下载windows版本的工具

2、配置ADB环境,只需要配置系统变量即可

操作步骤:文件夹框内-》此电脑右键-》属性-》高级系统设置-》高级选项卡中 点击“环境变量”,只需要配置系统环境变量即可,找到 path 点击“编辑”,新增一个环境变量,将解压后的ADB路径复制进去保存即可。

3、配置好了ADB的环境变量,打开cmd窗口,执行adb命令,如果出现ADB版本信息,则说明安装ADB成功

二、安装ADB后,想要对安卓APP做压力/稳定性测试,手机需要开启 开发者模式和USB调试模式,根据不同机型开启 开发者模式和USB调试模式的方法不一样。

1、下图以华为手机为例,开启开发者模式和USB调试模式

  • 开发者选项打开;

打开的方法:设置---关于手机---连续点击“版本号”,即可以打开 ;

  • “选择USB配置”选项为“仅充电”模式,

这个选项在开发者选项中;向下拉就能找到。

  • “USB调试打开;

这个选项也是在开发者选项中。

2、手机开启好开发者模式和USB调试后,在cmd中运行adb devices

出现设备信息,则说明连接手机设备成功

在连接手机设备可能会出现:devices not found(找不到设备)和cannot bind 'tcp:5037'(5037端口被占用的问题)

可以参考以下文章解决:

https://jingyan.baidu.com/article/e75aca857b8560142edac6a0.html

https://blog.csdn.net/qq_41063141/article/details/84898289

找不到设备一般是因为手机没有开启USB调试模式,所以要做好第二步骤的操作。

三、使用Monkey命令做简单的APP稳定性测试

1、调试之前要找到想要调试的包名,即想调试的APP的报名

查看此设备中所有的包

例如:想找到“科研之友APP”的包名

adb shell pm list packages |findstr "scholarmate"

2、对这个APP(包)进行1000次无规律点击操作,正常点击100-500次

格式:adb shell monkey -p 包名 -v 点击次数

adb shell monkey -p com.smate.scholarmate -v 1000

运行后,窗口会打印日志(执行结果)

3、还可以将日志保存到电脑的某个位置,方便查看

以下例子将日志打印到E盘

adb shell monkey -pcom.smate.scholarmate -v 1000 >E:/test.txt

执行命令后,E盘会生成一个记录日志的txt文件

4、分析日志:日志主要查找“ANR”、“Exception”、“Caused by”字样,看程序是否报错

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 23:03:23

如何用python进行渗透测试

渗透测试是一种安全评估方法,用于识别计算机系统、网络或Web应用程序中的安全漏洞。在合法和授权的背景下执行渗透测试至关重要。使用Python进行渗透测试非常流行,因为Python提供了丰富的库和框架,可以简化测试过程中的许多任务。 以下是一些…

作者头像 李华
网站建设 2026/8/22 0:10:36

大模型通义千问-Plus 练习总结 - 3

一、联网搜索 和 Function(有免费接口)总结 文章链接:通义AI工具之 联网搜索 和 Function(有免费接口)-CSDN博客 1. 一段话总结 本文介绍了通义千问 - plus 大模型的四大核心工具(联网搜索、Function Cal…

作者头像 李华
网站建设 2026/8/21 4:55:24

如何快速掌握Gyroflow:陀螺仪防抖终极指南

如何快速掌握Gyroflow:陀螺仪防抖终极指南 【免费下载链接】gyroflow Video stabilization using gyroscope data 项目地址: https://gitcode.com/GitHub_Trending/gy/gyroflow 还在为运动镜头抖动问题困扰吗?想要在DaVinci Resolve中实现专业级的…

作者头像 李华
网站建设 2026/8/21 20:14:31

USB设备安全弹出问题的高效解决方案

USB设备安全弹出问题的高效解决方案 【免费下载链接】USB-Disk-Ejector A program that allows you to quickly remove drives in Windows. It can eject USB disks, Firewire disks and memory cards. It is a quick, flexible, portable alternative to using Windows "…

作者头像 李华
网站建设 2026/8/21 4:54:08

5分钟掌握bxSlider:打造专业级响应式滑动效果

5分钟掌握bxSlider:打造专业级响应式滑动效果 【免费下载链接】bxslider-4 Responsive jQuery content slider 项目地址: https://gitcode.com/gh_mirrors/bx/bxslider-4 bxSlider是一款功能强大的jQuery内容滑动插件,能够帮助开发者快速创建响应…

作者头像 李华
网站建设 2026/8/21 1:06:54

Python中的网络爬虫

一、网络爬虫库1、网络爬虫库网络爬虫通俗来讲就是使用代码将HTML网页的内容下载到本地的过程。爬取网页主要是为了获取网的中的关键信息,例如网页中的数据、图片、视频等。Python语言中提供了多个具有爬虫功能的库,下面将具体介绍urllib库:是…

作者头像 李华