『與善仁』Appium基礎 — 3、ADB命令介紹
- 2021 年 7 月 20 日
- 筆記
- 測試基礎必會技能 - Appium測試框架
1、ADB命令簡介
ADB全名Andorid Debug Bridge
,是一個Debug調試工具,用這個工具可以直接操作管理Android模擬器或者真實的android設備。
- 開發Android應用的程式設計師必須要掌握。
- 測試工程師在做Android應用測試時,會使用到。
ADB是Android SDK
里的一個是一個C/S
架構的命令程式(platform-tools
文件夾中),其中客戶端是我們操作的電腦,伺服器端是Android設備。ADB就是起到調試橋的作用,通過這個橋我們可以管理設備或手機模擬器的狀態,還可以進行Android手機的很多操作,如安裝軟體、系統升級、運行shell命令等等。
換句話說,ADB就是連接Android手機與PC端的橋樑,可以讓用戶在電腦上通過終端ADB命令操作Android手機/模擬器。
2、ADB命令運行原理
ADB是一個標準的C/S
結構的工具,是來連接開發電腦(客戶端)和調試手機(服務端)的工具。
包含如下三個部分:
- Client端:運行在開發機器中,也就是你的開發PC機,用來發送ADB命令。
- Daemon守護進程:運行在調試設備中,可以是手機,也可以是模擬器,用來接收並執行ADB命令。
- Server端:作為一個後台進程運行在開發機器中(PC機)。 用來管理PC中的Client端和手機Daemon守護進程之間的通訊。
如下圖所示:
說明:
當你執行一條ADB命令的時候,ADB客戶端會先接收你輸入的命令,然後ADB客戶端會把命令發送給ADB伺服器,ADB伺服器再把命令發送給手機中的
Daemon
(守護進程)。
Daemon
負責技術Server
端發送過來的命令,並且在手機中執行該命令。我們可以看到上圖中的箭頭都是雙向的。
也就是說
Daemon
執行完的結果會返回給Server
端,Server
端再傳遞給Client
端。
Client
端再給終端程式顯示。
總結:
- Android手機必須和電腦建立連接。
- Windows系統命令行終端中執行的命令,會發送到Andorid設備上執行。
3、通過ADB命令連接Android模擬器
中國有很多款Android模擬器,比如逍遙、雷電、MUMU、夜神等,我們以逍遙模擬器為例。
模擬器進行App自動化測試時,需要使用ADB來連接模擬器,鏈接後才能找到該手機。
具體操作步驟:
(1)安裝Android模擬器
在Windows環境下安裝逍遙模擬器,執行XYAZ-Setup.exe
默認安裝即可。
(2)ADB命令連接Android模擬器
連接逍遙模擬器,21503
為逍遙模擬器的默認埠號。
1)打開命令行窗口,進入安裝目錄下...\Microvirt\MEmu
目錄。
2)執行連接命令adb connect 127.0.0.1:21503
注意1:如果不進入到...\Microvirt\MEmu
目錄中執行adb鏈接命令,會提示如下:
提示:開始的時候會出現這種情況,之後就沒有這種問題了。打開命令行就可以直接執行ADB命令了。
注意2:ADB鏈接Android模擬器的時候,模擬器要開啟,否則出現如下提示:
3)執行查看所有連接的模擬器命令adb devices
如圖所示:已經連上模擬器。
說著直接輸入adb
,出現如下,也是配置成功了。
C:\Users\L>adb
Android Debug Bridge version 1.0.41
Version 29.0.6-6198805
Installed as F:\DevInstall\envs\android-sdk-windows\platform-tools\adb.exe
global options:
-a listen on all network interfaces, not just localhost
-d use USB device (error if multiple devices connected)
-e use TCP/IP device (error if multiple TCP/IP devices available)
-s SERIAL use device with given serial (overrides $ANDROID_SERIAL)
-t ID use device with given transport id
-H name of adb server host [default=localhost]
-P port of adb server [default=5037]
-L SOCKET listen on given socket for adb server [default=tcp:localhost:5037]
...省略後面內容...
(3)常用Android模擬器埠號
鏈接Android模擬器命令adb connect
。
- 逍遙模擬器:
adb connect 127.0.0.1:21503
- 夜神模擬器:
adb connect 127.0.0.1:62001
- 雷電模擬器:
adb connect 127.0.0.1:5555
- MuMu模擬器:
adb connect 127.0.0.1:7555
- 天天模擬器:
adb connect 127.0.0.1:6555
- 海馬模擬器:
adb connect 127.0.0.1:26944