【功能测试】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
相关推荐
轩情吖8 小时前
MySQL之事务管理
android·后端·mysql·adb·事务·隔离性·原子性
弹简特9 小时前
【测试基础】04-软件测试质量九大质量特征
功能测试
测试_AI_一辰21 小时前
AI系统到底怎么测?一套六层测试框架(Agent案例)
人工智能·功能测试·需求分析·ai编程
测试界的飘柔1 天前
月薪 20k 的性能测试面试题大曝光,让你如何迅速拿下 offer!
自动化测试·软件测试·功能测试·面试·职场和发展·职场经验·找工作
赶路人儿1 天前
常见的mcp配置
android·adb
ego.iblacat1 天前
MySQL 数据库操作
数据库·mysql·adb
路溪非溪1 天前
adb的安装和基本使用总结
adb
XDHCOM1 天前
MySQL报错LDAP认证初始化连接池失败,远程修复思路和故障排查分享
数据库·mysql·adb
闻哥1 天前
深入理解 MySQL InnoDB Buffer Pool 的 LRU 冷热数据机制
android·java·jvm·spring boot·mysql·adb·面试
弹简特1 天前
【测试基础】03-软件测试需求分析及常见控件的测试点
功能测试·需求分析