使用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"的包名

bash 复制代码
adb shell pm list packages |findstr "scholarmate"

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

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

bash 复制代码
adb shell monkey -p com.smate.scholarmate -v 1000

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

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

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

bash 复制代码
adb shell monkey -pcom.smate.scholarmate -v 1000 >E:/test.txt

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

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

相关推荐
Yang-Never4 小时前
Kotlin协程 -> Job.join() 完整流程图与核心源码分析
android·开发语言·kotlin·android studio
一笑的小酒馆10 小时前
Android性能优化之截屏时黑屏卡顿问题
android
懒人村杂货铺12 小时前
Android BLE 扫描完整实战
android
TeleostNaCl14 小时前
如何安装 Google 通用的驱动以便使用 ADB 和 Fastboot 调试(Bootloader)设备
android·经验分享·adb·android studio·android-studio·android runtime
fatiaozhang952715 小时前
中国移动浪潮云电脑CD1000-系统全分区备份包-可瑞芯微工具刷机-可救砖
android·网络·电脑·电视盒子·刷机固件·机顶盒刷机
2501_9159184116 小时前
iOS 开发全流程实战 基于 uni-app 的 iOS 应用开发、打包、测试与上架流程详解
android·ios·小程序·https·uni-app·iphone·webview
lichong95116 小时前
【混合开发】vue+Android、iPhone、鸿蒙、win、macOS、Linux之dist打包发布在Android工程asserts里
android·vue.js·iphone
Android出海16 小时前
Android 15重磅升级:16KB内存页机制详解与适配指南
android·人工智能·新媒体运营·产品运营·内容运营
一只修仙的猿16 小时前
毕业三年后,我离职了
android·面试
编程乐学17 小时前
安卓非原创--基于Android Studio 实现的新闻App
android·ide·android studio·移动端开发·安卓大作业·新闻app