App自動化測試必備之adb使用


1.1 Adb介紹

 

adb(android debug bridge)是android sdk自帶的一個工具。

 

Adb是用來連接android設備和PC端的橋梁,通過adb工具,用戶可以在PC端對手機進行全面的操作。

 

Android的初衷是用adb這樣的一個工具來協助開發人員在開發android應用的過程中更快更好的調試apk,因此adb具有安裝卸載apk、拷貝推送文件、查看設備硬件信息、查看應用程序占用資源、在設備執行shell命令等功能。

 

adb可以跨平台,也就意味着在不僅在windows,在mac/linux平台都可以來使用adb命令,只需要下載配置對應平台軟件包即可。

 

 

 

adb有三大部分組件:

 

客戶端(client)

 

運行在你自己的電腦上,可以通過shell來調起一個客戶端

 

服務器(server)

 

運行在電腦的后台,負責管理client和damon進行通信

 

守護進程(damon)

 

運行在模擬器或者android設備的后台

Adb工具位於SDK目錄下的platform-tools目錄,有跟adb相關的三個文件:

 

 

 

之前我們在搭建自動化的環境的時候其實就已經將adb部署好了,我們直接在windows的dos環境中使用了(通過在運行輸入cmd即可進入),所以接下來我們就開始介紹adb使用方式。

 

tips:adb都是通過命令來操作android設備的

 

 

 

 

1.2  Adb常用命令系列

 

adb --help

 

查看幫助手冊

 

adb devices

 

查看連接到PC的android設備,這個是我們使用頻率最高的命令之,這里有一點大家需要注意:

 

Android模擬器和真實的android設備連接是有區別的,如果你是使用的genymotion模擬器,因為在模擬器已經設置了

 

 

所以genymotion模擬器會自動幫你加載連接adb,我們直接通過adb devices命令就可以檢測到,但是如果你是使用的夜神/海馬玩等模擬器,這些不會自動幫你連接上的。

 

所以需要我們手動通過命令adb connect連接,如夜神就是adb connect 127.0.0.1:62001

 

(這里的127.0.0.1表示本地的ip地址,任何電腦都有這個地址,62001表示夜神模擬器的端口號)。

 

如果你是海馬玩模擬器的話,那么端口號改成26944即可。

 

 

 

 

 

如果是真實的android設備(手機/平板電腦):

 

1、需要確保你的手機已經通過USB線連接到電腦

 

2、通過驅動軟件,驅動精靈/驅動人生等,將你的android手機驅動安裝好

 

3、進入到手機,找到設置->關於手機->點擊五下版本號->將對應的開發者選項打開(注意:由於手機型號不同,如小米,魅族,華為這些,可能打開方式稍微有差異,如果不清楚,自己百度怎么打開自己手機的開發者選項)

 

4、退出到上一級菜單,進入到開發者選項,找到USB調試模擬器將其打開

 

5、還有最后一步,一般來說會出來一個確認調試的對話框,我們也需要勾選上,不然adb命令用不了

 

 

 

adb shell

 

登錄設備shell(命令行的人機界面),在當前環境中就可以使用到很多linux相關命令了,如:cd、ls、cp等等,相當於遠程執行命令的

 

adb pull <手機路徑> <電腦路徑>

 

從手機中拉取信息放到本地電腦上,手機路徑可以通過adb shell進入到shell環境中,通過cd、ls這些命令找到對應的文件,如將QQ這個apk拉取放到D盤下的test目錄

 

 

adb push <本機路徑> <手機路徑>

 

從本地推送信息到手機上去,如

 

 

 

adb install *.apk

 

為了獲取apk的安裝包所在地址,可以直接把apk拖到cmd窗口獲取,返回success就說明安裝成功了

 

 

adb install -r *.apk

 

保留數據和緩存文件,重新安裝apk

 

adb shell dumpsys activity | find "mFocusedActivity"  

 

查看前台應用包名和類名(這里大家先大概了解下什么是包名:android系統給到應用的標識)

 

adb uninstall <包名>

 

卸載某個應用,后面就需要加上對應的包名

 

adb uninstall -k <包名>

 

卸載應用但保留數據和緩存文件

 

adb kill-server

 

終止adb服務

 

adb start-server

 

啟動adb服務,通常在adb出現問題時,結合kill-server一起來重啟adb服務

 

adb shell pm list packages

 

列出當前系統里面所有的包名

-s 列出系統apk路徑及包名

-3 列出用戶apk及包名

 

adb logcat

 

抓取android日志,這個也是對我們非常有用的命令,通過logcat日志,在app發生異常時,如crash/無響應這種,都可以在logcat里面定位到相應的信息

 

adb connect/disconnect

 

通過WiFi進行遠程調試,此時我們就可以不需要通過USB線將手機連接到電腦了,但是有如下注意事項:

 

1、確保手機和電腦處於同一網絡中(連接的同一個路由器)

 

2、提前通過adb tcpip 5555來確定通訊的端口號

 

3、再通過adb connect 加上你自己手機的ip地址來進行連接

 

如果想要取消連接,直接使用adb disconnect命令即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM