参数 | 说明 |
-p | 表示指定测试的程序,空格后面跟安装包名字 |
-v | 表示查看monkey执行过程的信息 (即日志级别,-v越多越详细,最多三个 |
数字100 | 表示测试事件数为100 |
ADB Monkey命令使用示例,如下:
Ø 指定一个包,测试100个事件并查看最详细的日志
ADB shell monkey -p com.tencent.news -v -v -v 100
Ø 指定多个包, 测试1000个事件并查看级别1的日志
ADB shell monkey -p com.tencent.news -p com.pdfreader -p com.widgets -v 1000
Ø 不指定包, 测试1000个事件
ADB shell monkey -v 1000
Ø 通过测试APP安装包,来随机测试一下将要发布的版本是否健壮
执行命令:
ADB shell monkey -p com.***.test -v -v -v 10
图3
对预测试的安卓app包进行稳定性测试,前提是手机通过数据线连接电脑,
接着先执行ADB shell pm list package命令,可以得到测试的程序包名,
再执行上面提到的adb monkey命令,
-p后面跟着测试的程序,-v表示日志,数字10表示要执行的测试次数。
从测试结果看,在switch后面查看有没有存在奔溃或其他异常,建议方法如下:
Ø 程序无响应,ANR问题:在日志中搜索“ANR”
Ø 崩溃问题:在日志中搜索“CRASH”
Ø 其他问题:在日志中搜索”Exception”
没有以上异常,则本次稳定性测试无异常。
在使用ADB命令时也会出现一些问题,大家可以注意一下。比如数据线,手机连接电脑的线必须是数据线,充电线连接不稳定,造成的现象是adb devices命令执行后没有出现手机序列号信息。再比如安卓手机端市场多样,有华为、小米、过时的三星、oppo、vivo,测试机型的手机助手不一,华为需要安装华为手机助手,这些都有利于提高连接电脑执行adb命令的稳定性。
在执行adb命令之前,我们记得打开设置里的开发者工具。具体步骤是,找到设置-关于手机-版本号,连续点击几次,打开开发者模式,即可看到设置里新增里开发人员选项。我们要打开USB调试,这样就可以正常进行手机与电脑的adb通信了。
03 ADB原理
ADB即Android 调试桥,是一种功能多样的命令行工具,可与设备进行通信。ADB 命令可用于执行各种设备操作,例如安装和调试应用,并提供对 Unix shell(用来在设备上运行各种命令)的访问权限。
它是一种客户端-服务器程序,包括以下三个组件:
Ø 客户端:用于发送命令。客户端在计算机上运行,可以通过发出 ADB 命令从命令行终端调用客户端。
Ø 守护程序 (ADBd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
Ø 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。ADB 包含在 Android SDK 平台工具软件包中。可以使用 SDK 管理器下载此软件包,该管理器会将它安装在 android_sdk/platform-tools/ 下。
当启动某个 ADB 客户端时,该客户端会先检查是否有 ADB 服务器进程正在运行。如果没有,它会启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 ADB 客户端发出的命令。所有ADB客户端均通过端口5037与ADB服务器通信。然后,服务器会与所有正在运行的设备建立连接。它通过扫描奇数号端口查找模拟器。服务器一旦发现 ADB 守护程序 (ADBd),便会与相应的端口建立连接。
每个模拟器都使用一对按顺序排列的端口,用于控制台连接的偶数号端口和用于 ADB 连接的奇数号端口。比如:
手机1,控制台:5554