news 2026/2/5 2:44:37

使用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/2/4 10:48:19

【深度学习新浪潮】硬件RAID技术:大模型训练与推理的存储性能可靠性双保障

引言 随着大模型参数规模迈入千亿级、训练数据量突破PB级,存储系统成为制约任务效率的核心瓶颈。大模型训练阶段的Checkpoint写入带宽峰值可达200+GBps,推理场景对数据响应延迟的要求精准到毫秒级,同时数据丢失可能导致数周的训练成果付诸东流。在NVMe SSD普及的今天,存储…

作者头像 李华
网站建设 2026/2/4 10:39:00

Wan2.2-T2V-5B模型推理服务支持自动伸缩扩容

Wan2.2-T2V-5B模型推理服务支持自动伸缩扩容 你有没有遇到过这种情况:用户突然爆增,你的视频生成服务瞬间卡死?😅 或者半夜三点还在手动扩容GPU实例,只为应对一场突如其来的营销活动?别担心——现在有个更聪…

作者头像 李华
网站建设 2026/2/4 3:36:29

评估与信任AI测试结果的4个指标

一、引言:从“能用”到“可信”,AI测试的关键拐点   在软件工程领域,AI正在从辅助工具迈向决策中枢。它可以生成测试用例、优化测试路径、自动修复脚本、分析缺陷趋势,甚至基于自然语言理解直接从需求文档生成完整的测试场景。然而,当AI开始影响测试决策时,一个更深层的…

作者头像 李华
网站建设 2026/2/4 8:32:37

Wan2.2-T2V-A14B如何生成带有UI界面的操作演示视频?

如何用 Wan2.2-T2V-A14B 一键生成带 UI 操作的演示视频?🚀 你有没有遇到过这种情况:产品刚上线,UI 改了三版,但用户还是不会用?客服每天重复回答“怎么注册”“在哪转账”,而教学视频还停留在上…

作者头像 李华
网站建设 2026/2/4 6:12:44

5个关键步骤彻底解决Super Productivity在Ubuntu 24.10启动失败问题

5个关键步骤彻底解决Super Productivity在Ubuntu 24.10启动失败问题 【免费下载链接】super-productivity Super Productivity is an advanced todo list app with integrated Timeboxing and time tracking capabilities. It also comes with integrations for Jira, Gitlab, …

作者头像 李华