最近要写个安卓自动化项目,想用Appium来实现,版本已经来到了2.19.0,搜了一圈,发现文档比较少,至少7年没有用过了,有点陌生,打算重新研究下,写成文章分享给有需要的人。作为最流行的移动端自动化测试框架之一,其2.x版本有许多重要的改进和新特性。这篇文章将详细介绍如何在Windows和macOS系统上安装Appium 2.19.0版本,并配置Python环境进行自动化测试开发。
操作系统:Windows 10/11 或 macOS 10.15+
Python版本:推荐3.8+(我使用的是3.12)
在开始前,请确保已安装以下组件:
Node.js 16.x或更高版本(我使用的是v22.13.1)
Java JDK 11+(Android测试需要)(我使用的是17)
Android SDK(Android测试需要)(最新就好)
Xcode 13+(iOS测试需要,仅macOS)(我使用的是16.4)
Python 3.8+(我使用的是3.12)
Appium 2.x需要Node.js 16+版本:
访问Node.js官网
下载16.x或更高版本的LTS版本
安装时勾选"Automatically install the necessary tools"选项
验证安装:
node -v
# 应显示v16.x.x或更高
npm -v
# 应显示8.x.x或更高
推荐使用Python 3.8+:
从Python官网下载安装包
安装时勾选"Add Python to PATH"选项
验证安装:
python --version
# 应显示Python 3.8.x或更高
pip --version
# 应显示pip 21.x.x或更高
Appium Android驱动需要Java环境:
下载JDK 11+
安装后设置环境变量:
# Windows
setx JAVA_HOME "C:\Program Files\Java\jdk-17"
setx PATH "%PATH%;%JAVA_HOME%\bin"
# macOS
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
验证安装:
java -version
# 应显示11.x.x
Appium 2.x采用了新的架构设计,核心与驱动分离:
npm i -g appium
安装完成后验证:
appium -v
# 应显示2.19.0
这里如果windows提示appium不是内部命令,需要把npm的路径添加进环境变量path
# Windows
setx PATH "%AppData%\Roaming\npm"
# macOS
#输入以下命令来查找npm的全局路径
npm bin -g
#将输出的路径添加到你的shell配置文件中
export PATH="/usr/local/share/npm/bin:$PATH"
Appium 2.x需要单独安装所需驱动:
# 安装Android驱动
appium driver install uiautomator2
# 安装XCUITest驱动(iOS)
appium driver install xcuitest
查看已安装驱动:
appium driver list
Python客户端库安装:
pip install Appium-Python-Client
下载并安装Android Studio
通过SDK Manager安装:
Android SDK Platform-Tools
Android SDK Build-Tools
对应API级别的系统镜像
配置环境变量:
# Windows
setx ANDROID_HOME "C:\Users\YourUser\AppData\Local\Android\Sdk"
setx PATH "%PATH%;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools"
# macOS/Linux
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools
验证ADB:
adb devices
从App Store安装Xcode 13+
安装Xcode命令行工具:
xcode-select --install
安装Carthage(可选):
brew install carthage
配置开发者账号和签名证书
appium
# 或使用更多选项
appium --log-level debug --allow-insecure chromedriver_autodownload
创建test.py
文件:
from appium import webdriver
from appium.options.android import UiAutomator2Options
import time
# 配置Android设备参数
capabilities = dict(
platformName='Android',
automationName='uiautomator2',
deviceName='Android',
appPackage='com.android.settings',
appActivity='.Settings'
)
# 转换capabilities为Appium Options
options = UiAutomator2Options().load_capabilities(capabilities)
# 连接Appium服务器
driver = webdriver.Remote('http://localhost:4723', options=options)
# 简单操作示例
try:
time.sleep(5)
print("当前Activity:", driver.current_activity)
finally:
driver.quit()
确保:
已连接Android设备或启动模拟器
Appium服务器正在运行
执行测试:
python test.py
问题:npm安装Appium时权限错误
解决:
# Windows以管理员身份运行CMD
# macOS使用sudo
sudo npm install -g appium
问题:Python客户端库版本冲突
解决:
#先卸载
pip uninstall Appium-Python-Client
#重新安装
pip install Appium-Python-Client
问题:无法检测到Android设备
解决:
#杀死adb服务
adb kill-server
#再启动
adb start-server
#验证
adb devices
问题:iOS真机连接失败
解决:
确保Xcode中信任开发者证书
在设备上信任电脑
npm install -g @appium/doctor
appium-doctor --android
appium-doctor --ios
创建appium-server.log
配置文件:
{
"server": {
"port": 4723,
"log": "./appium.log",
"log-level": "debug"
}
}
启动时指定配置:
appium --config appium-server.log
7.3.1 使用命令安装
npm install -g appium-inspector
7.3.2 直接从Github下载Appium Inspector桌面应用
通过以上步骤,你应该已经成功安装了Appium 2.19.0并配置好了Python测试环境,下面就可以愉快的玩耍了