Appium - 自动化测试框架 - adb

Posted 当国服灬睡神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Appium - 自动化测试框架 - adb相关的知识,希望对你有一定的参考价值。

目录

一、前言

二、下载与安装

三、原理

四、常用命令

获取当前应用的包名和界面名

文件传输

获取app的启动时间

获取日志信息

连接安卓设备

进入安卓手机系统Linux系统命令行中

安装app到手机

卸载手机app

获取当前电脑已连接的设备和对应的设备号

启动adb服务

停止adb服务

其他的命令查询

五、问题汇总

六、后记


一、前言

        adb的全称是android Debug Bridge(安卓调试桥),是一个命令行的调试工具,可以连接移动设备,使电脑与设备建立通信,通过执行一些命令,即可对所连接的设备进行操作。本文系博主在学习Appium之前所需的知识储备,仅以此文作记录。


二、下载与安装

  • 打开命令行窗口,输入adb,如下图所示,即为配置成功。


三、原理

  • 构成
    • 客户端(Client):运行在开发的机器上面,即电脑,用于发送adb指令。
    • 守护进程(Daemon):运行在调试设备上,即手机,用来接收客户端发送的指令,并作出相应的反应。
    • 服务器(Server):运行在开发机器上,用来联系客户端与守护进程,即adb服务。
  • 工作流程
    • 首先,在客户端发送adb指令,到达了adb服务器
    • adb服务器接收到指令后,发送给与其连接的调试设备
    • 调试设备中的adb守护进程接收到了指令后,作出相应的动作后,将响应发送给adb服务器
    • adb服务器反馈给客户端, 如下图所示


四、常用命令

  • 获取当前应用的包名和界面名

    • 包名(Package):用作指定唯一的应用程序。
    • 界面名(Activity):用来标记当前应用程序下的界面,即手机屏幕上看到的界面。

指令:adb shell dumpsys window | findstr mCurrentFocus

  • 文件传输

电脑 --> 手机

指令:adb push 电脑上的文件路径 手机上的文件夹路径

手机 --> 电脑

指令:adb pull 手机上的文件路径 电脑上的文件夹路径

  • 获取app的启动时间

    • 应用场景:工作中可能遇到这么个需求:“要求被测app打开的时间不能超过3秒”,此时,我们就要取获取app启动的时间。
    • 设备启动app每个过程所消耗时间:
      • 系统消耗时间:WaitTime - TotalTime
      • 应用启动消耗时间:TotalTime - ThisTime
      • 打开界面消耗时间:ThisTime , 如下图所示

指令:adb shell am start -W 包名/界面名(主页)

  • 获取日志信息

    • 应用场景:在测试移动设备过程中,遇到BUG后,会使用该指令来开启日志获取,从而定位BUG日志。
    • 步骤:
      • 先定位到要测的应用程序的触发bug界面
      • 开启日志监听
      • 触发bug
      • 获取日志信息

指令:adb logcat

  • 与安卓设备建立/断开通信

使用USB数据线连接电脑方式

指令:adb devices

使用无线的方式连接(电脑和手机必须在同网段下)

指令:adb connect 手机IP:端口号(不指定默认是5555)

断开连接

指令:adb disconnect 手机IP

  • 进入安卓手机系统Linux系统命令行中

指令:adb shell

  • 安装app到手机

指令:adb install 应用程序安装包(.apk后缀)

  • 卸载手机app

指令:adb uninstall 应用程序包名(Package)

  • 获取当前电脑已连接的设备和对应的设备号

指令:adb devices

  • 启动adb服务

指令:adb start-server

  • 停止adb服务

指令:adb kill-server

  • 其他的命令查询

指令:adb --help


五、问题汇总

  • adb使用无线连接的方式连接手机,连接失败,报错信息如下图所示。

解决方案:

1、先使用USB数据线连接设备和电脑

2、修改adb服务监听该设备的端口号,adb tcpip 8888

3、断开USB连接

4、使用无线连接指令,adb connect 手机IP: 8888


六、后记

        该文章会随着博主的继续学习,持续更新。

        如果知识点存在误区,还请各位博友在评论区中提出纠正。

        如果侵权,请在第一时间联系我,立即删除!

以上是关于Appium - 自动化测试框架 - adb的主要内容,如果未能解决你的问题,请参考以下文章

adb常用指令与APPium环境搭建

基于appium的app自动化测试框架

搭建appium+maven手机自动化测试框架

ADB使用WiFi连接真机进行Appium自动化测试的方法

appium启动日志分析

Appium python自动化测试系列之Android知识讲解