Appium自动化测试中ADB常用命令实战指南

七月
七月
发布时间:2026-10-13 | 6人浏览过
原创

本文汇总了Appium自动化测试中高频使用的ADB命令。内容涵盖设备连接检查、APK安装与卸载、进程管理、Shell基础操作、文件双向传输以及基于包名的Logcat日志过滤技巧,帮助测试人员提升Android测试效率。

ADB命令基础与设备连接检查

前言:

在Appium自动化测试框架中,ADB(Android Debug Bridge)命令是不可或缺的基础工具。对于从事Android端测试的工程师而言,熟练掌握并日常使用ADB命令是基本工作要求。因此,本文专门整理了一份实用的ADB命令清单,供读者参考。

关于ADB的具体定义及其环境安装步骤,网络上已有大量详尽教程,此处不再赘述,读者可自行查阅相关资料完成基础配置。

本文旨在对网络上分散的常用ADB命令进行系统性汇总,便于测试人员在实战中快速查阅和使用。

一、检查设备连接状态

执行以下操作前,请确保Android设备已开启“开发者模式”,并在设置中启用了“USB调试”功能。

1. 验证设备连接:在电脑命令行(CMD)中输入以下命令,以确认手机或模拟器是否已成功连接至电脑:

APK安装与卸载操作

二、安装应用程序(APK)

第一步:首先将需要安装的APK文件包下载并保存至电脑本地。

第二步:在CMD命令行中输入“adb install”,随后直接将APK文件拖入命令行窗口即可执行安装操作。

当命令行返回“success”字样时,即代表安装成功。

三、卸载应用程序(APK)

1. 在CMD中输入以下指令,即可删除设备上的指定应用:

>adb uninstall 包名

注意:此处“包名”指的是应用的Package Name,而非APK文件名。若不清楚包名,可使用aapt工具查看,具体命令为“aapt dump badging +apk路径”,从中可提取包名信息。

例如,以淘宝App为例,其包名为:com.taobao.taobao

若命令行返回“success”,则代表卸载操作成功。

ADB服务管理与设备重启

四:终止ADB服务器进程

adb kill-server

五:启动ADB服务器

adb start-server

六:重启Android设备

adb reboot

Shell模式与文件目录操作

七:进入Shell交互模式

注:Android系统基于Linux内核开发,通过“adb shell”命令即可进入Linux Shell交互模式,进行更底层的系统操作。

adb shell

八:查看文件详情及目录切换

成功进入Shell模式后,可使用“cd sdcard”命令切换至SD卡目录。

九:列出当前目录下的所有文件及子目录

在指定文件夹路径下,执行命令“ls -a”以列出当前目录下的所有目录及文件(包括隐藏文件)。

十:退出Shell模式

直接在命令行输入“exit”并回车,即可退出Shell模式返回CMD。

设备与电脑文件双向传输

十一:从设备下载文件至电脑

首先确定手机中需要导出的文件路径,然后先通过“exit”命令退出Shell模式,再执行以下操作:

命令格式:adb pull [手机文件路径] [电脑目标路径]

注意事项:手机文件路径使用左斜杠“/”,电脑目标路径使用右斜杠“\”。注意:不能直接导出至电脑根目录,必须指定电脑端已存在的文件夹路径。

如上图所示,若命令行提示成功,则代表文件已成功导入本地电脑。

2. 若需导出文件夹内的全部内容,无需指定具体文件名,只需指定到文件夹层级即可,例如:/sdcard/DCIM/Camera/Screenshots D:\Testapk

十二:将电脑文件导入手机

.将电脑文件导入手机的操作与上述下载操作相反,具体步骤如下:

命令格式:adb push [电脑文件路径] [手机目标路径]

若需在手机上创建新文件夹,可先通过“adb shell”进入Shell模式,然后使用“mkdir”命令创建目录。

如下示例:我在SD卡根目录下创建了一个名为“haha”的文件夹。

接下来将文件导入该手机目录:

前提操作:同样需要先通过“exit”命令退出Shell模式。

实现效果如下:

检查“haha”文件夹下是否已成功导入文件:

如图所示,文件已成功导入手机指定目录!

总结:CMD命令与Shell模式下的命令格式存在差异,原因在于CMD运行于Windows系统,而Shell基于Linux系统。例如,在CMD中返回上级目录使用“cd..”(cd后跟两个点),而在Shell中则使用Linux标准命令“cd -”(注意cd与减号之间需有空格)。因此,在Shell模式下必须使用Linux兼容命令。昨日编写至第十二部分时已下班,今日继续补充剩余内容。

Logcat日志抓取与过滤技巧

十三:Logcat日志输出与抓取

在App测试过程中,遇到异常情况时查看日志是排查问题的关键步骤。本文将介绍如何将日志输出至手机SD卡或电脑指定目录,这主要依赖于logcat命令的使用。

以下操作示例基于Windows平台:adb logcat | find

若在Linux平台操作,可将“find”替换为“grep”:adb logcat | grep

注:Windows DOS环境下默认不包含grep指令,故Windows用户需使用find。

1. 将日志保存至电脑指定目录,例如:d:\Testapk

2. 使用find命令过滤特定包名的日志

若直接运行“adb logcat”抓取日志,会包含大量系统无关信息。若仅需抓取被测App的日志,可通过指定包名进行过滤。

命令示例:adb logcat | find "com.mld.Lantin" >d:\Testapk\22.txt

3. 终止Logcat抓取进程

1. 终止Logcat抓取,可使用Ctrl+C快捷键结束进程,此为手动操作方式。

4. Logcat其他高级功能

1. 在CMD中输入“adb logcat -help”可查看其他可用功能选项。

命令示例:adb logcat -help


C:\Users\admin>adb logcat -help
Unrecognized Option h
Usage: logcat [options] [filterspecs]
**选项**:
-- "-s"选项 : 设置输出日志的标签, 只显示该标签的日志;
 
-- "-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
 
-- "-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
 
-- "-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
 
-- "-v"选项 : 设置日志的输出格式, 注意只能设置一项;
 
-- "-c"选项 : 清空所有的日志缓存信息;
 
-- "-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
 
-- "-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
 
-- "-g"选项 : 查看日志缓冲区信息;
 
-- "-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;
 
-- "-B"选项 : 以二进制形式输出日志;
 
**过滤项格式** : <tag>[:priority] , 标签:日志等级, 默认的日志过滤项是 " *:I " ;
 
-- V : Verbose (明细);
 
-- D : Debug (调试);
 
-- I : Info (信息);
 
-- W : Warn (警告);
 
-- E : Error (错误);
 
-- F : Fatal (严重错误);
 
-- S : Silent(Super all output) (最高的优先级, 可能不会记载东西);
 
'*' by itself means '*:D' and <tag> by itself means <tag>:V.
If no '*' filterspec or -s on command line, all filter defaults to '*:V'.
eg: '*:S <tag>' prints only <tag>, '<tag>:S' suppresses all <tag> log messages.
 
If not specified on the command line, filterspec is set from ANDROID_LOG_TAGS.
 
If not specified with -v on command line, format is set from ANDROID_PRINTF_LOG
or defaults to "threadtime"

注:在使用logcat时,建议参考上述help文档内容,其功能详尽,此处不再逐一列举。读者可根据实际需求,参照上图文档自行探索使用。

以上关于Appium结合Python进行ADB常用命令的分享即为全部内容,希望能对各位测试同仁有所帮助,也欢迎大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表