Appium环境搭建
安装包:
安装视频讲解:https://www.bilibili.com/video/av92305394?p=3
链接:https://pan.baidu.com/s/19C9fGmoXne8DgfXhrTB2TQ
提取码:kgwb
安装client编程库
根据原理图, 我们知道自动化程序需要调用客户端库和 Appium Server 进行通信,cmd中:
pip install appium-python-client
安装Appium Server
Appium Desktop官方下载:https://github.com/appium/appium-desktop/releases/tag/v1.22.3-4
安装JDK
安卓APP的自动化,必须要安装安卓SDK,因安卓SDK需要 JDK 环境。
可以从 上面给出的百度网盘连接 下载安装: jdk-8u211-windows-x64.exe
安装好之后,还需要添加一个环境变量 JAVA_HOME
,指定 值 为 jdk安装目录,比如
JAVA_HOME d:\tools\java\jdk1.8.0_211
安装 Android SDK
对于安卓APP的自动化,Appium Server 是需要 Android SDK的。
因为要用到里面的一些工具,比如 要执行命令设置手机、传送文件、安装应用、查看手机界面等。
可以从 上面给出的百度网盘连接 下载最新的 Android SDK文件包: androidsdk.zip
,并且解压,即可。
解压完成后,需要 配置一下 添加一个 环境变量 ANDROID_HOME
,设置值为sdk包解压目录,比如 d:\tools\androidsdk
另外,还推荐大家配置环境变量 PATH ,加入 adb所在目录, d:\tools\androidsdk\platform-tools\
注意:是 添加
该目录到环境变量PATH中, !!!不是替换!!!
,否则会导致系统命令都找不到的严重后果,初学者 请对照视频讲解操作。
连接手机
上述的软件环境都准备好以后,要自动化手机APP,需要:
-
在你运行程序的电脑上 用 USB线 连接上 你的安卓手机
-
进入
手机设置
->关于手机
,不断点击版本号
菜单(7次以上),
-
退出到上级菜单,在开发者模式中,启动USB调试
如果手机连接USB线后,手机界面弹出 类似 如下提示。
选择 允许USB调试。
注意:
- 使用自己的原装充电线连接,因有的额外的配的线支持USB连接
- 有的手机系统,可能需要一些额外的选项需要设置好。
比如,有的手机,开发者选项里 需要打开 允许通过USB安装应用
等。
总之,给USB开发调试 尽可能方便的控制手机。
连接好以后,打开命令行窗口, 执行 adb devices -l
命令来列出连接在电脑上的安卓设备。
如果输出 类似如下的内容:
List of devices attached
4d0035dc767a50bb device product:t03gxx model:GT_N7100 device:t03g
表示电脑上可以查看到 连接的设备,就可以运行自动化程序了。
示例:
下面是一段使用 Appium 自动化的打开 B站 应用,
运行代码前,要先 运行 Appium Desktop
:
from appium import webdriver from selenium.webdriver.common.by import By from appium.webdriver.extensions.android.nativekey import AndroidKey desired_caps = { 'platformName': 'Android', # 被测手机是安卓 'platformVersion': '8', # 手机安卓版本 'deviceName': 'xxx', # 设备名,安卓手机可以随意填写 'appPackage': 'tv.danmaku.bili', # 启动APP Package名称 'appActivity': '.ui.splash.SplashActivity', # 启动Activity名称 'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True 'resetKeyboard': True, # 执行完程序恢复原来输入法 'noReset': True, # 不要重置App 'newCommandTimeout': 6000, 'automationName' : 'UiAutomator2' # 'app': r'd:\apk\bili.apk', } # 连接Appium Server,初始化自动化环境 driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 设置缺省等待时间 driver.implicitly_wait(5) # 如果有`青少年保护`界面,点击`我知道了` iknow = driver.find_elements(By.ID, "text3") if iknow: iknow.click() # 根据id定位搜索位置框,点击 driver.find_element(By.ID, 'expand_search').click() # 根据id定位搜索输入框,点击 sbox = driver.find_element(By.ID, 'search_src_text') sbox.send_keys('白月黑羽') # 输入回车键,确定搜索 driver.press_keycode(AndroidKey.ENTER) # 选择(定位)所有视频标题 eles = driver.find_elements(By.ID, 'title') for ele in eles: # 打印标题 print(ele.text) input('**** Press to quit..') driver.quit()
本文来自博客园,作者:他还在坚持嘛,转载请注明原文链接:他还在坚持嘛 https://www.cnblogs.com/brf-test/p/16372694.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2021-06-16 查找测试用例
2021-06-16 Python小方法