Appium 2.x + Python 3.12 环境搭建:Windows 11 下 5 步完成 Android 真机连接 Appium 2.x Python 3.12 环境搭建Windows 11 下 5 步完成 Android 真机连接移动应用自动化测试已成为现代软件开发生命周期中不可或缺的一环。对于需要在Windows平台上快速搭建Android自动化测试环境的工程师来说Appium 2.x与Python 3.12的组合提供了强大而灵活的解决方案。本文将详细介绍如何在Windows 11系统中完成这一环境配置并实现与Android真机的稳定连接。1. 环境准备与工具安装在开始之前我们需要确保系统满足以下基础要求Windows 11操作系统版本21H2或更高管理员权限的账户至少8GB可用磁盘空间关键组件清单Python 3.12.x推荐使用官方安装包Java Development Kit (JDK) 17或更高版本Android Studio包含Android SDKAppium 2.x服务器Appium-Python-Client库安装步骤分解# 验证Python安装 python --version pip --version # 安装必要的Python包 pip install Appium-Python-Client selenium注意建议使用虚拟环境管理Python依赖避免与系统全局环境冲突。可使用python -m venv appium_env创建专用环境。2. Android开发环境配置Android SDK是自动化测试的核心依赖需要通过Android Studio进行安装下载并安装Android Studio 官网链接 在安装向导中选择以下组件Android SDKAndroid SDK Platform-ToolsGoogle USB Driver用于真机连接配置环境变量系统属性→高级→环境变量变量名示例值ANDROID_HOMEC:\Users\YourName\AppData\Local\Android\SdkPATH%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools验证ADB连接adb devices正常应显示已连接的设备列表需先开启手机USB调试模式。3. Appium 2.x服务器部署Appium 2.x采用了模块化架构安装方式与1.x版本有所不同# 通过npm全局安装Appium npm install -g appium # 安装必要的驱动程序Android平台 appium driver install uiautomator2 # 安装元素检查工具 appium plugin install inspector启动Appium服务器的两种方式命令行直接运行appium作为后台服务运行appium --allow-insecureget_server_logs --base-path/wd/hub提示建议使用--log-levelwarn参数减少控制台输出噪音调试时可使用--log-leveldebug4. 真机连接与配置确保Android设备满足以下条件开发者模式已启用设置→关于手机→连续点击版本号7次USB调试已开启开发者选项→USB调试设备已通过USB连接电脑并授权调试常见连接问题排查问题现象解决方案设备未出现在adb devices列表检查USB线质量尝试不同USB端口授权提示未弹出撤销所有USB调试授权后重新连接驱动安装失败手动安装Google USB Driver验证设备连接状态adb devices -l # 示例输出 # List of devices attached # ABCDEFGHIJK device product:raphael model:Mi_9T device:raphael5. Python测试脚本编写与执行以下是一个完整的测试示例用于验证环境配置成功from appium import webdriver from appium.options.android import UiAutomator2Options import time # 配置设备参数 capabilities { platformName: Android, automationName: UiAutomator2, deviceName: 你的设备名称, # 通过adb devices -l获取 platformVersion: 你的安卓版本, # 如13.0 appPackage: com.android.settings, appActivity: .Settings } # 初始化驱动 driver webdriver.Remote( http://127.0.0.1:4723, optionsUiAutomator2Options().load_capabilities(capabilities) ) try: # 示例操作打开设置中的关于手机页面 about_phone driver.find_element(xpath, //*[text关于手机]) about_phone.click() time.sleep(2) # 等待页面加载 # 获取设备型号信息 model driver.find_element(id, android:id/summary).text print(f当前设备型号: {model}) finally: driver.quit()脚本执行流程说明建立与Appium服务器的WebDriver连接启动Android设置应用导航至关于手机页面提取并打印设备型号信息安全关闭会话高级配置与优化对于需要长期使用的测试环境建议进行以下优化性能调优参数advanced_caps { uiautomator2ServerLaunchTimeout: 60000, uiautomator2ServerInstallTimeout: 60000, skipDeviceInitialization: True, skipServerInstallation: True }日志收集配置from appium.webdriver.common.appiumby import AppiumBy driver.start_recording_screen( video_typeh264, time_limit180, bit_rate5000000 )并行测试支持 通过Appium的--port参数启动多个实例每个设备使用独立端口appium -p 4723 appium -p 4724常见问题解决方案在实际使用中可能会遇到以下典型问题ADB版本冲突 当同时安装多个Android开发工具时可能出现ADB版本不一致。解决方案where adb # 查看所有ADB路径 set PATHC:\path\to\correct\adb;%PATH% # 临时指定正确路径端口占用问题 如果4723端口被占用可通过以下命令查找并终止进程netstat -ano | findstr 4723 taskkill /PID [进程ID] /F元素定位失败 当UI结构复杂时可组合使用多种定位策略# 组合定位示例 el driver.find_element( AppiumBy.ANDROID_UIAUTOMATOR, new UiSelector().className(android.widget.Button).text(确定) )测试框架集成建议对于企业级自动化测试建议采用以下架构project/ ├── config/ │ ├── devices.yaml # 设备配置管理 │ └── capabilities.py # 能力集定义 ├── pages/ │ ├── base_page.py # 页面基类 │ └── login_page.py # 具体页面封装 ├── tests/ │ ├── test_login.py # 测试用例 │ └── conftest.py # pytest配置 └── utils/ ├── appium_utils.py # 工具函数 └── report_utils.py # 报告生成关键实现代码示例页面对象模式class LoginPage: def __init__(self, driver): self.driver driver self.username (AppiumBy.ID, com.app:id/username) self.password (AppiumBy.XPATH, //android.widget.EditText[resource-idcom.app:id/password]) self.login_btn (AppiumBy.ACCESSIBILITY_ID, Login) def perform_login(self, username, password): self.driver.find_element(*self.username).send_keys(username) self.driver.find_element(*self.password).send_keys(password) self.driver.find_element(*self.login_btn).click()通过以上步骤我们建立了一个完整的Appium 2.x测试环境。这套配置不仅支持基础的功能测试还能扩展实现性能测试、兼容性测试等高级场景。