Appium学废系列(三) APP结构解析

1、Adb调试桥命令讲解

adb:全名Android debug bridge

你可以直接在窗口输入adb来查看基础的帮助,会列举出adb所有的功能

image.png

其中adb有很多重要的子命令比如:

adb devices: 查看当前正在连接的所有设备

image.png

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,清理缓存数据,权限重置

image.png

我们这时候把权限都勾上

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

image.png

你可能感兴趣的:(Appium学废系列(三) APP结构解析)