网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
了解详情》docs.qq.com/doc/DSlVlZExWQ0FRSE9H
02 ADB Monkey运用
ADB Monkey是一个在手机模拟器或真机运行的程序,可生成伪随机用户事件(例如点击、轻触)流以及很多系统级事件。一般我们会用来做稳定性测试以及压力测试。
下面是一张Monkey命令的参数列表供我们工作时参考。
表2Monkey命令参数表
| 参数 | 说明 |
| -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
手机1,ADB:5555
手机2,控制台:5556
手机2,ADB:5557
如上所示,在端口 5555 处与 ADB 连接的模拟器与控制台监听端口为 5554 的手机是同一个。
服务器与所有设备均建立连接后,可以使用ADB命令访问这些设备。由于服务器管理与设备的连接,并处理来自多个ADB客户端的命令,因此可以从任意客户端(或从某个脚本)控制任意设备。
结尾:
ADB命令为我们与真机通信建立了一个可视化桥梁。在工作中还会涉及其他命令方面的巧用,欢迎大家实践后一起交流分享。
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取**【保证100%免费】**
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
开源项目:docs.qq.com/doc/DSlVlZExWQ0FRSE9H