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

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相關的三個文件:

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

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

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

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

1.2 Adb常用命令系列

adb --help

查看幫助手冊

adb devices

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

adb shell

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

adb pull

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

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

adb push

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

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

adb install *.apk

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

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

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命令即可

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

今天的分享就到這裡了

對此文有疑問?趕緊在留言區留言吧~

看完本文有收穫?請轉發分享給更多人

關注「檸檬班軟件測試」,做高級軟件測試工程師

今晚8點公開課精彩預告:

掌握自動化測試的應用和策略,高薪拿到手!

想聽公開課的同學加QQ群:603317397

公開課視頻可以加毛毛微信:742717718


分享到:


相關文章: