1、Adb调试桥命令讲解
adb:全名Android debug bridge
你可以直接在窗口输入adb来查看基础的帮助,会列举出adb所有的功能
其中adb有很多重要的子命令比如:
adb devices: 查看当前正在连接的所有设备
adb kill-server:关闭adb的后台进程
adb 本质是在后台开启一个server,这个server会接收adb的各种命令,他会帮你管理与手机与模拟器的一个连接,这个后台服务有时候会出现一些问题,我们可以使用adb kill-server:关闭adb的后台进程
Adb tcpip:测试工程师非常喜欢的命令,本来真机PC机连接使用的是USB线,测试的时候就比较受限,tcpip可以让我们开启与安卓真机之间的TCP连接,可以直接脱离数据线的束缚。实现手机只要和PC机在同一个wifi网络下,或者借助一些特殊的转发手段,也可以实现让其他地方的PC去远程控制本地多台手机
Adb connect: 开放一个端口,进行远程连接
Adb logcat: 日志查看
Adb Bugreport: 收集日志数据,用于后续的分析,比如耗电量,内存、cpu数据等
2、adb shell
Adb shell 可以直通你的手机,可以在手机打开shell通道,调用Android内置的命令,
这是使用非常频繁的命令
adb shell dumpsys //获取app各种各样很重要的信息,比如cpu 内存 耗电量 网络流量等
Adb shell pm //包管理工具
Adb shell am //Activity管理工具
Adb shell ps //进程
Adb shell monkey //monkey测试工具,帮助完成兼容性、随机性测试
前面的命令都是我们做自动化前需要学习的非常种要的基础
3、自动化测试命令
除了上述命令外,还有一些重要的针对自动化测试的命令,比如
Uiautomator: 获取到一个app整体的界面结构、执行一些自动化测试,非常底层
Input:完成基础的自动化指令
几个例子来演示下:
Adb install [包名] //安装包
Adb shell pm clear com.gkeeper.client //强行杀掉app,清理缓存数据,权限重置
我们这时候把权限都勾上
Adb shell am start -n com.gkeeper.client/com.gkeeper.client.ui.main.IndexActivity -S
再重新再启动app 发现这时候不需要再申请权限,说明这时候已经有一些数据的缓存
Adb shell dumpsys window w |findstr / |findstr name= //当前活动的包名、Activity名
//重新启动
4、Uiautomator
adb shell uiautomator //直接输入 会有一些帮助内容,展示它的子命令dump、runtest、events
adb shell uiautomator dump //创建一个当前ui视图结构的xml文件
adb shell cat /sdcard/window_dump.xml // 查看具体的xml文件内容,了解界面结构,展示app当前界面文件里面的每一个控件,元素,将它变成节点,节点记录了当前控件的大小、类型、定位符等
adb shell uiautomator runtest //执行UI自动化测试
5、adb shell input
adb shell input xxxx //可用于模拟点击、发送文本、拖放等事件,用于最简单的自动化测试的基础命令
adb shell input tap 300 563 //点击事件 后面是x y轴位置,可以借助一些工具找到坐标点
adb shell input text 12345//输入文本 12345
adb shell input keyevent 4 //键盘事件 返回键
6、安卓性能统计命令 dumpysys