Appium ADB命令

李逸風丶發表於2020-10-04

ADB

ADB全名Andorid Debug Bridge。 是一個Debug工具。為何稱之為Bridge呢?
因為adb是一個標準的C/S結構的工具, 是要連線開發電腦和除錯手機的
包含如下幾個部分:
1.Client端,執行在開發機器中,即你的開發PC機。用來傳送adb命令。
2.Daemon守護程式, 執行在除錯裝置中, 即的除錯手機或模擬器。
3.Server端, 作為一個後臺程式執行在開發機器中, 即你的開發PC機. 用來管理PC中的Client端和手機的Daemon之間的通訊。

  • 三者之間的通訊
    Client<>Server<>Daemon
  • adb幫助
  adb --help
  • 啟動adb server
  adb start-server
  • 關閉adb server
  adb kill-server
  • 獲取裝置號
    adb devices
  • 獲取系統版本
    adb -s 裝置號 shell getprop ro.build.version.release
  • 傳送檔案到手機
adb push 電腦端檔案路徑/需要傳送的檔案  手機端儲存的路徑
示例:
      將桌面的xx.png傳送到手機sdcard目錄下
      adb push C:\Users\win\Desktop\xx.png  /sdcard
  • 從手機拉取檔案
adb pull 手機端的路徑/拉取檔名 電腦端儲存檔案路徑
  示例:
      將手機/sdcard目錄中的xx.png檔案,傳送到電腦桌面
      adb pull /sdcard/xx.png C:\Users\win\Desktop
  • 檢視手機執行日誌
adb logcat
  • 手機shell命令列

adb shell

  • 獲取app啟動包名和啟動名(⚠️ 手機需要先開啟對應app)
 1.Mac/Linux: 'adb shell dumpsys window windows | grep mFocusedApp’
    2.在 Windows 終端執行 'adb shell dumpsys window windows’ 然後去看mFocusedApp這一行的內容。
  • 安裝app到手機
 adb install 路徑/xx.apk
  • 解除安裝手機手機app
  adb uninstall 包名
  • 獲取app啟動時間
adb shell am start -W 包名/啟動名
  示例:
      adb shell am start -W com.yly.drawpic/.MainActivity
  解釋:
      TotalTime:app自身啟動時間 
      WaitTime:系統啟動應用時間

主流的移動端自動化工具
Robotium

1.支援語言:Java

2.僅支援Android系統

3.不支援跨應用

Macaca

1.支援語言:Java,Python,Node.js

2.支援Android和iOS系統

3.支援跨應用

Appium

1.支援語言:Java,C#,Python,php,perl,ruby,Node.js
 
2.支援Android和iOS系統

3.支援跨應用

自動化工具選擇的關注點

1.是否支援native,webview
 
2.是否支援獲取toast

3.是否支援跨應用

相關文章