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

 

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