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

來源:互聯網
上載者:User

標籤:mac   win   --   安裝apk   開發人員選項   shadow   text   使用者   cmd   

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

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.