本日咱们来聊聊一个超等强盛的安卓测试及调试工具——ADB(Android Debug Bridge)。ADB 就像是安卓装备和电脑之间的桥梁,通过下令行,可以轻松地与手机举行各种操纵。无论是安装应用、调试程序,还是抓取日志,ADB 都能搞定。
ADB 初印象
首先,咱们得把 ADB 安装好。如果你已经安装了 Android Studio,那 ADB 就已经包含在内了,通常位于 sdk/platform-tools 目录下。如果还没有,那就得单独下载安装了。
安装好后,咱们得确认一下电脑可否辨认到安卓装备。打开下令行,输入 adb devices,如果体现你的装备信息,那就阐明连接成功了!
小贴士:如果装备没连接上,记得查抄一下 USB 调试开关是否打开(在手机的开发者选项中),还有数据线是否正常。
安装与卸载应用
ADB 的一大功能就是可以方便地安装和卸载应用。
安装应用
咱们可以用 adb install 下令来安装 APK 文件。假设你有一个 example.apk 文件,输入以下下令:
- # 安装应用
- adb install example.apk
复制代码 如果安装成功,会体现 Success。
卸载应用
卸载应用就更简单了,用 adb uninstall 下令加上应用的包名就行。好比要卸载包名为 com.example.myapp 的应用:
- # 卸载应用
- adb uninstall com.example.myapp
复制代码 小贴士:记得,卸载下令用的是应用的包名,而不是 APK 文件名哦!
查看日志
调试安卓应用时,查看日志可是个必备技能。ADB 提供了 adb logcat 下令,可以实时查看安卓装备的日志输出。
日志信息会不停地滚动输出,咱们可以通过关键词来过滤。好比,只想看和某个应用相干的日志,可以加上应用包名作为过滤条件:
- # 过滤日志
- adb logcat | grep "com.example.myapp"
复制代码 小贴士:logcat 输出的日志信息非常丰富,咱们可以根据需要选择不同的日志级别(如 error、warn、info 等)举行查看。
模拟按键和触摸
ADB 还能模拟按键和触摸操纵,这在主动化测试中可是个神器。
模拟按键
好比,想模拟按下电源键,可以用 adb shell input keyevent 下令加上按键码。电源键的按键码是 26:
- # 模拟按下电源键
- adb shell input keyevent 26
复制代码 其他按键码可以在官方文档里查到,好比返回键是 4,音量加是 24,音量减是 25。
模拟触摸
模拟触摸操纵轻微复杂点,得指定坐标。好比,想在屏幕 (500, 1000) 的位置模拟点击一下:
- # 模拟触摸点击
- adb shell input tap 500 1000
复制代码 还可以模拟滑动操纵,好比从 (100, 200) 滑动到 (400, 800):
- # 模拟滑动操作
- adb shell input swipe 100 200 400 800
复制代码 小贴士:模拟触摸操纵的时间,记得先确定一下屏幕的分辨率,这样才气更准确地指定坐标哦!
截图与录屏
ADB 还能方便地截图和录屏,这在测试或演示的时间特别有效。
截图
截图很简单,用 adb shell screencap 下令就行。不过,这个下令默认会把截图保存到装备上,咱们还得把它拉取到电脑上。以是,更常用的方法是直接用 adb exec-out 下令结合 screencap -p,然后重定向输出到一个文件:
- # 截图
- adb exec-out screencap -p > screenshot.png
复制代码 这样,截图就直接保存在当前目录的 screenshot.png 文件中了。
录屏
录屏轻微复杂点,得用到 adb shell screenrecord 下令。好比,想录制一个 30 秒的视频,分辨率设置为 720p:
- # 录屏
- adb shell screenrecord /sdcard/screen_record.mp4 --time-limit 30 --size 720x1280
复制代码 录制完成后,同样得把视频文件拉取到电脑上:
- # 拉取录屏文件
- adb pull /sdcard/screen_record.mp4
复制代码 小贴士:录屏的时间,注意一下装备的存储空间,别录着录着空间满了。
访问文件体系
通过 ADB,咱们还可以方便地访问安卓装备的文件体系,举行文件的上传和下载。
上传文件
用 adb push 下令可以把电脑上的文件上传到装备上。好比,想把 testfile.txt 上传到装备的 /sdcard/ 目录下:
- # 上传文件
- adb push testfile.txt /sdcard/
复制代码 下载文件
下载文件用 adb pull 下令。好比,想把装备上的 /sdcard/testfile.txt 下载到当前目录:
- # 下载文件
- adb pull /sdcard/testfile.txt
复制代码 小贴士:上传和下载文件的时间,注意一下路径和文件名,别搞错了。
实用脚本示例
末了,给大家分享一个实用的脚本示例,用 Python 结合 ADB 实现一个简单的主动化测试。这个脚本会模拟打开某个应用,截图保存,然后关闭应用。
- import os
- import time
-
- # 定义设备命令
- def run_adb_command(command):
- return os.popen(command).read().strip()
-
- # 打开应用
- def open_app(package_name):
- run_adb_command(f"adb shell monkey -p {package_name} -c android.intent.category.LAUNCHER 1")
-
- # 截图
- def take_screenshot(filename):
- run_adb_command(f"adb exec-out screencap -p > {filename}")
-
- # 关闭应用
- def close_app(package_name):
- run_adb_command(f"adb shell am force-stop {package_name}")
-
- # 主函数
- def main():
- package_name = "com.example.myapp" # 替换为目标应用的包名
- screenshot_filename = "app_screenshot.png"
-
- print("打开应用...")
- open_app(package_name)
- time.sleep(5) # 等待应用打开
-
- print("截图保存...")
- take_screenshot(screenshot_filename)
-
- print("关闭应用...")
- close_app(package_name)
-
- print(f"截图已保存为 {screenshot_filename}")
-
- if __name__ == "__main__":
- main()
复制代码 小贴士:这个脚本只是个简单的示例,现实应用中可能需要更复杂的逻辑和非常处置处罚。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |