Appium之ADB指令详解

简介: 前言学Android测试,ADB指令是必学的。图1一、ADB概述       Android Debug Bridge,Android调试桥接器,简称adb,是用于管理模拟器或真机状态的万能工具,采用了客户端-服务器模型,包括三个部分:       1、客户端部分,运行在开发用的电脑上,可以在命令行中运行adb命令来调用该客户端,像ADB插件和DDMS这样的Android工具也可以调用adb客户端。

前言

学Android测试,ADB指令是必学的。

img_eb0d1cf963f465d63939b9bd9ca2aabb.png
图1

一、ADB概述

       Android Debug Bridge,Android调试桥接器,简称adb,是用于管理模拟器或真机状态的万能工具,采用了客户端-服务器模型,包括三个部分:

       1、客户端部分,运行在开发用的电脑上,可以在命令行中运行adb命令来调用该客户端,像ADB插件和DDMS这样的Android工具也可以调用adb客户端。

       2、服务端部分,是运行在开发用电脑上的后台进程,用于管理客户端与运行在模拟器或真机的守护进程通信。

       3、守护进程部分,运行于模拟器或手机的后台。

       当启动adb客户端时,客户端首先检测adb服务端进程是否运行,如果没有运行,则启动服务端。当服务端启动时,它会绑定到本地的TCP5037端口,并且监听从adb客户端发来的命令——所有的adb客户端都使用5037端口与adb服务端通信。

       接下来服务端与所有正在运行的模拟器或手机连接。它通过扫描5555-5585之间的奇数号端口来搜索模拟器或手机,一旦发现adb守护进程,就通过此端口进行连接。需要说明的是,每一个模拟器或手机使用一对有序的端口,偶数号端口用于控制台连接,奇数号端口用于adb连接。

二、常用的指令

1.查询模拟器或手机状态

adb  devices   

执行结果是adb为每一个设备输出以下状态信息:序列号(serialNumber) — 由adb创建的使用控制台端口号的用于唯一标识一个模拟器或手机设备的字符串,格式是 <设备类型>-<端口号>,例如: emulator-5554

状态(state) — 连接状态,其值是:offline — 未连接或未响应

device —已经连接到服务商。注意这个状态并不表示Android系统已经完全启动起来,系统启动的过程中已经可以连接adb,但这个状态是正常的可操作状态。

img_7279a385e2390688e52ffee25615fe62.png
图2

2.安装卸载应用程序APK

在 cmd 输入以下指令,可以安装 app:adb install  <path_to_apk>   

在 cmd 输入以下指令,可以删除 app:adb uninstall <path_to_apk>

3.使用Monkey进行UI或应用程序测试

Monkey是运行于模拟器或手机上的一个程序,通过生成伪随机的大量的系统级的用户事件流来模拟操作,包括单击、触摸、手势等。从而为正在开发中的应用程序通过随机响应进行压力测试。最简单使用monkey的方式是通过下面的命令行,它可以运行指定的应用程序并向其发送500个伪随机事件。

  在 cmd 输入以下指令:adb shell monkey -v -p your.package.name 500

4.停止重启adb服务

在某些情况下,可能需要终止然后重启服务端进程,例如adb不响应命令的时候,可以通过重启解决问题。使用kill-server可以终止服务端,然后使用其他的adb命令重启。

在 cmd 输入以下指令,停止adb服务:adb kill-server

在 cmd 输入以下指令,重启adb服务:adb start-server

5.adb与模拟器或手机传输文件

在 cmd 输入以下指令,表示从电脑发文件到手机:adb  push  <本地路径>  <远程路径>

在 cmd 输入以下指令,表示从手机下载文件到本地:adb  pull  <本地路径>  <远程路径>

6.日志输出

第一种:输出到手机存储卡

adb logcat > /sdcard/mylogcat.txt

第二种:输出到电脑上

adb logcat > D:/Temp/1.txt(1.txt 必须在电脑上存在,才能写入 logcat 内容)

7.显示帮助信息

adb help

img_1fc1f3cd62bb4ac13ecee230c58874a3.png
图3

其他指令详解参考资料:ADB命令详解

相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
网络协议 Shell Android开发
Appium自动化(3) - adb无线连接手机的方法
Appium自动化(3) - adb无线连接手机的方法
351 0
|
Shell Android开发 Python
Python之调用安卓(Android)ADB指令
作为开发或者是测试人员,或者是使用Python的伙伴,都会接触到ADB指令,下面就针对这种情况,来解析下Python调用ADB指令的操作。 一、长时间按某个元素:adb  input shell ... 语法:adb -s 4d0041be98b01f shell input touchscreen swipe 540 716 545 718 1000 语义:-s  后跟设备号,swipe 先传移动坐标范围‘540 716 545 718’,然后1000是长按时间,单位毫秒。
1879 0
|
网络协议 Android开发 Shell
|
Shell Android开发 Python
Appium+python自动化11-adb必知必会的几个指令
前言 学android测试,adb是必学的,有几个常用的指令需要熟练掌握   一、检查设备 1.如何检查手机(或模拟器)是连上电脑的,在cmd输入: >adb devices 2.一定要看到上图红色区域的,设备名称,然后接着是device(如果看到这里是offline,那就是adb端口被占了)   二、安装app 1.
2559 0
|
网络协议 Shell 数据库
|
7月前
|
开发工具 Android开发
Mac 安卓(Android) 配置adb路径
Mac 安卓(Android) 配置adb路径
211 0
|
4月前
|
网络协议 Android开发 虚拟化
Android Studio无法运行程序调试程序出现Unable to connect to ADB.Check the Event Log for possible issues.Verify th
Android Studio无法运行程序调试程序出现Unable to connect to ADB.Check the Event Log for possible issues.Verify th
59 0
Android Studio无法运行程序调试程序出现Unable to connect to ADB.Check the Event Log for possible issues.Verify th
|
5月前
|
Android开发
[√]Android 通过adb内存监测方法
[√]Android 通过adb内存监测方法
122 1
|
8月前
|
Android开发
Android中adb设置cpu频率
Android中adb设置cpu频率
392 0