1、adb工具构成及原理
- adb 包含了三个部分
- adb客户端 用来下发adb得指令工具
- Server 服务端 adb.exe执行之后的进程,表示adb的服务端,通过服务端与手机上的adb守护进程进行通信
- adb守护进程 随着android系统的启动而启动,当android系统关闭之后才会关闭。

2、常用命令
1.首先打开MuMu模拟器,在设置中找到开发者选项,打开usb调试

2.找到连接adb的端口(我这个win有)


adb devices 查看手机设备的ID名称及状态
127.0.0.1:7555 手机设备的ID名称 device 处于在线状态 (用localhost会报错)


获取包名和界面名
- 操作步骤
- 在手机或者模拟器打开app
- windows命令一:adb shell dumpsys window windows | findstr mFocusedApp(能看主界面)
- windows命令二:adb shell dumpsys window | findstr "usedApp" (可以看到打开app和主界面)
com.android.settings/Settings com.androidsettings是包名, .Settings是界面名通过/分隔包
LINUX/MacOS命令一: adb shell dumpsys window windowsgrep mFocusedApp
LINUXMacOS命令二: adb shell dumpsys window lgrep "usedApp"
通过aapt获取app的包名和界面名
- aapt dump badging F:\app\apk\xuechebu.apk后面表示的是app安装包的路径及名称
包名:package: name='com.bjcsxq.chat.carfriend' #packagename后面的字符串表示的是app的包名
界面名: name='com.bjcsxq.chat.carfriend.module_main.activity.SplashActivity' launchable-activity:name后面的字符串是界面
安装和卸载app
app安装 adbinstall路径/app安装包名称
app卸载 adbuninstall包名
上传下载文件
- 上传将电脑上的文件上传到手机
adbpush电脑上的文件路径手机的路径
例子:adb push ./1.txt /sdcard --可以是相对路径也可以是绝对路径 /sdcard是模拟器的总目录 如果是图片可以是/sdcard/Pictures


- 下载文件从手机上下载文件到本地
例子:adb pull /sdcard/1.txt D:\2.txt adb pull 手机的文件路径 电脑的文件夹路径

查看日志信息
为什么要获取日志信息:用来给开发定位问题
adb logcat 来查看相关的日志信息
测试app的启动速度
测试app启动速度的命令:
adb shell am start -W 包名/界面名
(打开一个app,用adb shell dumpsys window | findstr "usedApp" (可以看到打开app和主界面)查看包名/界面名)

前面是qpp名后面是界面名

需要大家关注的是TotalTime的时间值,那么在实际的测试过程当,会进行多次测试,然后取平均值
稳定性测试 monkey
- monkey 集成在adb⼯具当中,主要⽤来做稳定性测试⽤的, monkey是通过java语⾔编写的⼀种稳定性测试⼯具。
- monkey常⽤的参数
-
- -p 参数 对指定的app进⾏随机操作
-
- -v 参数 表示的是记录信息的级别
-
- -s ⽤于指定伪随机数。如果两次的伪随机数相同,那么两次的操作步骤、流程、操作事件完全⼀样。
-
- --throttle ⽤于指定随机事件的间隔时间, 单位是毫秒
- ⽇志分析

adb手势操作
- ⼿势操作命令
- 模拟点击事件
adb shell input tap x y # x y表示的是坐标点 参数之间⽤空格隔开
-
- 模拟滑屏事件(参数之间⽤空格隔开)
-
- 模拟键盘操作
-
- 模拟输⼊操作
-
- 如果出现上图中 offlfflffline的设备,记得重启⼀下adb服务
-
- 如果电脑上⾯连接了多个模拟器或者是⼿机。那么需要加上⼀个参数 -s device_name
弱⽹测试
charles快速开启


这里面进行设置(我多用于web)
- 弱⽹测试步骤:
-
- 打开fifiddler,设置相应的代理端⼝(当端⼝被占⽤时需要⼿动更改代理端⼝)
-
- 在fifiddler中设置⽹络的上传和下载的速度
-
-
- 点击 “rules”--“customize rules
![]()
-


-
- 在⼿机中设置⽹络的代理
-
-
- ⼿机的IP地址必须与fifiddler电脑的IP地址,是同⼀个局域 ⽹。也就是在同⼀⽹段。查看电脑的IP地址命令: ipconfifig
-

posted on
浙公网安备 33010602011771号