ADB(Android Debug Bridge)+Appium介紹

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安裝

 

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                        # 設

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章