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