【功能测试】5_APP项目 _ADB环境搭建和ADB命令

文章目录

  • 一、ADB介绍
    • [1.1 ADB工具介绍](#1.1 ADB工具介绍)
    • [1.2 ADB环境搭建](#1.2 ADB环境搭建)
    • [1.3 配置path说明](#1.3 配置path说明)
  • 二、ADB命令
    • [2.1 安装、卸载、获取包名](#2.1 安装、卸载、获取包名)
    • [2.2 获取APP日志](#2.2 获取APP日志)
    • [2.3 获取APP启动时间](#2.3 获取APP启动时间)
    • [2.4 获取内存](#2.4 获取内存)
    • [2.5 CPU](#2.5 CPU)
    • [2.6 获取APP使用流量](#2.6 获取APP使用流量)
    • [2.7 其他命令](#2.7 其他命令)

一、ADB介绍

1.1 ADB工具介绍

ADB(Android Debug Bridge)是一个通用命令行工具,也是Android软件测试开发工作者常用的调试工具。

ADB可以用来安装卸载软件管理安卓系统软件启动测试抓取操作日志

1.2 ADB环境搭建

SDK下载地址:http://tools.android-studio.org/index.php/sdk

1、安装安卓SDK

2、安装ADB

3、配置环境变量(计算机右键---属性---高级系统设置---环境变量--新增系统变量)

yacas 复制代码
变量名: ANDROID_HOME
变量值: C:\Z\Test\zhuabao\android-sdk     (即SDK的所在⽬录)

4、配置系统环境变量下的path

yacas 复制代码
%ANDROID_HOME%\platform-tools

%ANDROID_HOME%\tools

5、验证安装成功:win R -->cmd

bash 复制代码
C:\Users\ggk>adb
Android Debug Bridge version 1.0.39
Version 0.0.1-4500957
Installed as C:\Z\Test\zhuabao\android-sdk\platform-tools\adb.exe

1.3 配置path说明

二、ADB命令

2.1 安装、卸载、获取包名

shell 复制代码
1、安装软件:adb install APK路径
-r 代表如果apk已安装,r重新安装apk并保留数据和缓存文件。apk路径则可以直接将apk文件拖进cmd窗口,记得加空格。

2、卸载软件:adb uninstall (apk包名)
如果卸载app,但需要保留数据和缓存文件:adb uninstall -k (apk包名)

3、获取软件包名:
------①列出手机装的所有app的包名:adb shell pm list packages
------②列出系统应用的所有包名:adb shell pm list packages -s
------③列出除了系统应用的第三方应用包名:adb shell pm list packages -3
------④显示当前打开的软件包名:Windows系统命令:adb shell dumpsys window | findstr mCurrentFocus(需要打开目标软件)                          Mac/Linux命令:adb shell dumpsys window | grep mCurrentFocus

2.2 获取APP日志

当测试APP过程中出现闪退、死机、无响应,需要查看日志。(把日志截取下来发给开发)

shell 复制代码
格式:adb logcat > 指定路径

举例:
① adb logcat >C:\Users\ggk\Desktop\1.txt
② 执行完后Ctrl+C结束日志获取
③ 查看获取的1.txt文档即可

2.3 获取APP启动时间

shell 复制代码
格式:adb shell am start -W 包名/activity名

1、常见参数:
-S:表示每次启动前先强行停止
-R:表示重复测试次数

2、常见的三个指标
ThisTime: 当前activity的时间。
TotalTime:应用的启动时间,包括创建进程、App初始化、Activity初始化到界面显示。
WaitTime:前一个应用activity pause的时间 + TotalTime

2.4 获取内存

shell 复制代码
格式:adb shell dumpsys meminfo <包名>

1、 Native/Dalvik 的 Heap信息
如果发现这个值一直增长,则代表程序可能出现了内存泄漏(Out of  memary)。

2、Total 的 PSS 信息
这个值是应用真正占据的内存大小,通过这个信息,可以轻松判别手机中哪些程序占内存比较大

2.5 CPU

shell 复制代码
格式:adb shell top -s 列号
(-s 按指定行排序)

参数含义:
PID : 应用程序ID
S : 进程的状态(S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数)
#THR : 程序当前所用的线程数
VSS : 虚拟耗用内存(包含共享库占用的内存)
RSS : 实前台际使用物理内存(包含共享库占用的内存)
PCY : (fg)和后台(bg)进程 UID : 用户身份ID
Name : 应用程序名称

2.6 获取APP使用流量

shell 复制代码
1、获取进程pid
win: adb shell ps | findstr 包名
mac: adb shell ps | grep 包名
如:adb shell ps | grep com.tpshop.malls

2、获取流量
adb shell cat /proc/{pid}/net/dev

3、查看
Wlan0:是网卡-wifi
Receive是接收、Transmit是发送

2.7 其他命令

bash 复制代码
1、查看设备: adb devices       这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
2、启动服务/关闭ADB服务:adb start-server	     adb kill-server
3、连接设备:adb connect IP 
adb connect 127.0.0.1
如果是USB连接,直接会连接ADB,如果是想通过网络连接(有线或者无线),则需要在同一个局域网,通过IP连接。
4、断开设备:adb disconnect IP
相关推荐
橘颂TA3 小时前
【测试】自动化测试函数介绍——web 测试
python·功能测试·selenium·测试工具·dubbo
Dxy123931021610 小时前
Python判断MySQL表是否存在,不存在则创建
python·mysql·adb
Li_Spike19 小时前
黑盒测试方法以及测试网关步骤
功能测试
测试_AI_一辰1 天前
Agent & RAG 测试工程05:把 RAG 的检索过程跑清楚:chunk 是什么、怎么来的、怎么被命中的
开发语言·人工智能·功能测试·自动化·ai编程
llilian_161 天前
信号发生器 多通道多功能脉冲信号发生器应用解决方案 多功能脉冲发生器
功能测试·单片机·嵌入式硬件·测试工具
生活很暖很治愈1 天前
GUI自动化测试[3]——控件&数鼠标操作
windows·python·功能测试·测试工具
少云清1 天前
【金融项目实战】3_金融项目 _发布借款业务和投资业务
功能测试·金融·核心业务
少云清1 天前
【金融项目实战】2_金融项目 _项目介绍(重点)
功能测试·金融
五五六六05241 天前
adb server is out of date. killing...问题的解决
网络安全·adb
uyeonashi1 天前
Boost搜索引擎测试报告
功能测试·selenium·搜索引擎