https://www.cnblogs.com/ouyang99-/p/11958420.html
一、 簡介
Android Debug Bridge,我們一般簡稱爲adb,主要存放在sdk安裝目錄下的platform-tools文件夾中,它是一個非常強大的命令行工具,通過這個工具用來連接電腦和Android設備(手機、電腦、電視、平板、電視盒子等)。
二、安裝
1. 下載安裝包:
鏈接: https://pan.baidu.com/s/1ar6OPXCRohYXFAa83wmoxQ
提取碼: 54zh
2. 解壓文件包到固定位置:D:\android-sdk-windows
3. 新建a環境變量;將b c環境變量添加到path環境下
* a. 添加環境變量:
變量名:ANDROID_HOME
變量值:D:\android-sdk-windows
* b. 在path目錄最後面添加:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
4. 打開命令提示符:win鍵+R,並輸入“cmd”
5. 在cmd輸入命令驗證添加環境變量是否成功:adb version
查看adb環境是否配置成功
三、準備模擬器
1. 下載並安裝雷電模擬器:http://www.ldmnq.com/
2. 安裝完成後,我們需要查看雷電模擬器是否連接adb,在cmd中輸入命令:adb devices
查看模擬器是否安裝成功
四、常用命令
4.1 adb kill-server和adb start-server
關閉adb server和開啓adb server。
有時候ADB Server會出現異常故障,我們組需要使用上述命令重啓ADB Server。
4.2 adb devices
查看當前PC端連接有多少設備,通常使用此命令判斷設備是否連接上電腦。
4.3 adb logcat
獲取設備運行日誌。通過該命令捕獲安卓APP崩潰時的異常信息,幫助問題定位。
然後找到並打開日誌,分析其中異常信息。
4.4 adb install
栗子:adb install xxx.apk
作用:給安卓設備安裝xxx軟件。運行命令後,有些手機手動確認允許電腦安裝軟件。
4.5 adb pull
栗子:adb pull /sdcard/123.txt C://abc
作用:將設備文件/sdcard/文件夾下的123.txt文件複製到電腦的C盤adb文件夾下。
4.6 adb push
栗子:adb push C://123.txt /sdcard/
作用:將電腦C盤目錄下的123.txt文件複製到設備/sdcard/下。
4.7 adb shell
進入安卓設備的shell終端。安卓是基於Linux開發的,每一個安卓設備都自帶shell終端。
我們可以使用shell終端來進行各項操作,比如查看文件目錄:ls
或者可以查看安卓手機運行狀態:top
還可以查看手機剩餘運行內容:free -m
還可以查看手機剩餘存儲空間:df
3. appium-desktop安裝
- 64位:鏈接: https://pan.baidu.com/s/1a3-_X6WU9B48UWufePZOJQ 提取碼: pqfe
- 32位:鏈接: https://pan.baidu.com/s/1pBv7DpcMUB2kvsihu7vY3A 提取碼: 37m1
4. 安裝appium的安卓客戶端
- pip3 install Appium-Python-Client -i https://pypi.tuna.tsinghua.edu.cn/simple
5. 安裝安卓模擬器
- 下載並安裝雷電模擬器:http://www.ldmnq.com/
- 打開雷電模擬器
6. 安裝被測APP
傳送門:鏈接: https://pan.baidu.com/s/1Yexgofqhb7w3F1U9RTBW_w 提取碼: fv7s
7. 連接安卓設備
1 打開appnium客戶端,開啓服務 2 cmd-->adb devices 連接 3 abd devices -l 查看手機的信息
8. 編寫appium的python代碼
# 1.導入appium的webdriver
from appium import webdriver
def get_driver():
"""
獲取設備driver
"""
desired_caps = {}
desired_caps['platformName'] = 'Android' # 打開什麼平臺的app,固定的 > 啓動安卓平臺
desired_caps['platformVersion'] = '5.1.1' # 安卓系統的版本號:adb shell getprop ro.build.version.release
desired_caps['deviceName'] = 'vivo x6plus d' # 手機/模擬器的型號:adb shell getprop ro.product.model
desired_caps['appPackage'] = 'io.appium.android.apis' # app的名字:adb shell dumpsys activity | findstr "mFocusedActivity"
desired_caps['appActivity'] = '.ApiDemos' # app的啓動頁名字:adb shell dumpsys activity | findstr "mFocusedActivity"
desired_caps['unicodeKeyboard'] = True # 爲了支持中文
desired_caps['resetKeyboard'] = True # 設置成appium自帶的鍵盤
# 去打開app,並且返回當前app的操作對象
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
return driver
def test():
"""
查找單個元素
"""
# 獲取driver
driver = get_driver()
# 通過id獲取元素:最準確
app = driver.find_element_by_id("android:id/text1")
app.click()
# 返回鍵
driver.back()
# 通過text獲取元素
Animation = driver.find_element_by_android_uiautomator('new UiSelector().text("Animation")')
Animation.click()
# 返回鍵
driver.back()
# 通過content-desc來獲取元素
app = driver.find_element_by_accessibility_id("App")
app.click()
# 返回鍵
driver.back()
# 通過xpath獲取:使用最多
media = driver.find_element_by_xpath("//android.widget.TextView[@text='Media' and @content-desc='Media']")
media.click()
if __name__ == "__main__":
test()
10 adb部分命令
Adb devices --查看已經連接的設備
adb version --查看版本號
adb shell pm list package 以列表的方式顯示所有的包名
-s 查看系統的應用
-3 查看第三方的軟件
-f 顯示所有軟件的包的路徑
adb install 對測試機的操作
adb install xxx.apk--給安卓設備安裝xxx軟件。運行命令後,有些手機手動確認允許電腦安裝軟件
adb pull
adb pull /sdcard/123.txt C://abc
adb push
adb push C://123.txt /sdcard/--將電腦C盤目錄下的123.txt文件複製到設備/sdcard/下。
adb shell 進入安卓設備的shell終端。安卓是給予Linux開發的,每一個安卓設備都自帶shell終端。
我們可以使用shell終端來進行各項操作,比如查看文件目錄:ls
或者可以查看安卓手機運行狀態:top
還可以查看手機剩餘運行內容:free -m
還可以查看手機剩餘存儲空間:df
desired_caps = {}
desired_caps['platformName'] = 'Android' # 打開什麼平臺的app,固定的 > 啓動安卓平臺
desired_caps['platformVersion'] = '5.1.1' # 安卓系統的版本號:adb shell getprop ro.build.version.release
desired_caps['deviceName'] = 'vivo x6plus d' # 手機/模擬器的型號:adb shell getprop ro.product.model
desired_caps['appPackage'] = 'io.appium.android.apis' # app的名字:adb shell dumpsys activity | findstr "mFocusedActivity"
desired_caps['appActivity'] = '.ApiDemos' # app的啓動頁名字:adb shell dumpsys activity | findstr "mFocusedActivity"
desired_caps['unicodeKeyboard'] = True # 爲了支持中文
desired_caps['resetKeyboard'] = True # 設