BJ学习笔记-App测试(adb使用)

adb

一、adb基础

1.什么是adb

android debug bridge

2.adb操作手机设备

  • 打开应用
    • adb shell am start -n com.tencent.wework/.launch.LaunchSplashActivity
  • 传输文件
  • 点击,输入,滑动等
  • 硬件操作返回,回到首页
  • 性能指标

3.adb工作原理

  • 采用了客户端-服务器(C/S)模型,包括三个部分:
    • 客户端 client
    • 服务端 server
    • 守护进程 daemon

二、adb环境搭建与配置

环境搭建

  • Java 1.8
  • Android SDK

1.JAVA环境安装

JDK环境安装

2.SDK环境安装

SDK下载
SDK环境配置

ANDROID_HOME sdk路径
PATH %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools

检查是否安装成功
  • adb 回车(或者adb shell)

三、adb与设备交互

测试机型选择

  • 模拟器
  • 真机

Android模拟器种类

  • Android Studio emulator(官方)
  • genymotion(信赖网络)
  • mumu,雷电,夜神,,逍遥等第三方模拟器(推荐)

连接模拟器(mumu为例)

  • windows:
    • adb connect 127.0.0.1:7555
    • adb devices
  • mac
    • adb kill-server
    • adb devices

连接真机(Android手机)设备

  • 1.手机端:让手机处于一个调试模式
  • 2.电脑端安装手机驱动

设备状态种类

  • device正常
  • offline连接出现异常,设备无响应
  • unauthorized未授权

查看手机状态

  • adb devices
  • adb get-state

四、adb命令格式/安装卸载

adb命令格式

  • 格式:
    • adb [-d|-e|-s <serialNumber> ] <command>
  • -d 指定当前唯一通过USB连接的android设备为命令目标(了解)
  • -e 指定当前唯一运行的模拟器为命令目标(了解)
  • -s 指定相应的设备为命令目标(重点)

安装

  • 普通安装 adb install <apk路径>
  • 覆盖安装/替代安装adb install -r <apk路径>

卸载

  • 卸载应用
    adb uninstall 包名
  • 卸载应用(不删除配置文件,保存数据缓存信息)
    adb uninstall -k 包名

五、adb命令启动页面

包和Activity(活动页)的概念

  • package包:是Android应用的唯一标志
  • Activity活动页:Android应用页面,一个页面就是一个Activity

获取当前的页面名

  • 1.打开手机app应用的某个页面
  • 2.打开命令行工具
    • 执行命令:adb shell “dumpsys window | grep mCurrentFocus”

获取启动页面的Activity

  • 命令:
    • mac:adb logcat ActivityManager:I | grep “cmp”
    • win:adb logcat ActivityManager:I | findstr “cmp”

启动页面

  • 命令:adb shell am start -n <包名>/<activity名>

六、adb命令清理缓存

adb shell 应用1

  • 查看目录结构:adb shell ls
  • 查看系统当前日期:adb shell date
  • 查看系统CPU使用情况:adb shell cat /proc/cpuinfo
  • 查看系统内存使用情况:adb shell cat /proc/meminfo

adb shell 应用2-查看应用列表

  • 显示所有应用:adb shell pm list packages
  • 显示系统自带应用:adb shell pm list packages -s
  • 显示第三方应用:adb shell pm list packages -3

adb shell 应用3-查看当前的页面名

  • adb shell “dumpsys window | grep mCurrentFocus”

清除应用数据及缓存

  • adb shell pm clear <包名>

七、adb 文件传输

Android设备与电脑传输文件

传输文件

  • adb push 电脑路径 设备路径
  • adb pull 设备路径 电脑路径

八、adb 日志操作

使用adb查看日志

日志的级别

  • V - 明细verbose(最低优先级)
  • D - 调试debug
  • I - 信息info
  • W - 警告warn
  • E - 错误error
  • F - 严重错误 fatal
  • S - 无记载 silent(最高优先级,绝不会输出任何内容)

adb命令查看日志

  • adb logcat

查看日志常用参数1

格式:

  • adb logcat --help
  • adb logcat [TAG:LEVEL] [TAG:LEVEL] …

查看日志常用参数2

  • adb logcat 打印默认日志数据
  • adb logcat -v time 打印时间
  • adb logcat -v color 使用不同的颜色来显示每个优先级
  • adb logcat -f 将日志输出到文件
  • adb logcat > log.log 保存日志到PC上
  • adb logcat -c 清理已存在的日志

根据条件过滤日志

  • adb logcat -v time “*:W” 打印 Warning及以上级别的日志
  • adb logcat ActivityManage:D ‘*:S’ 过滤tag 为ActivityManager,level为Debug及以上级别的日志

常见问题

https://developer.android.com/topic/performance/vitals/crash

九、adb模拟按键操作

adb模拟手机按键

  • 1.打开【指针位置】设置
  • 2.执行adb shell input 命令

模拟点击事件

adb shell input tap x坐标 y坐标

模拟输入事件

adb sell input text <输入内容>

模拟滑动事件

adb shell swipe <起点x> <起点y> <终点x> <终点y> <滑动时长>

模拟手机按键

https://developer.android.com/reference/android/view/KeyEvent

  • 返回键:adb shell input keyevent 4
  • Home键:adb shell input keyevent 3(置应用于后台运行)
  • 音量放大:adb shell input keyevent 24
  • 音量缩小:adb shell input keyevent 25