搭建Appium双平台环境的方法是先部署通用的Appium服务器,再分别为Android和iOS安装对应的驱动程序及平台工具链。当前 Appium 已进入3.x 版本(如3.8.0),架构和早期的 1.x 有显著区别,服务器不再内置任何驱动,需要可按需安装。
基础配置
不管测试哪个平台,都需要先完成Node.js和Java环境的配置。
1. Node.js 和 npm
Appium本身是一个Node.js应用,必须通过npm全局安装。必须注意版本兼容性:Appium 3对Node.js 版本有严格要求,一般需要 20.19.0、22.12.0或高于24.0.0。
bash
# 证实版本
node -v
npm -v
# 全局安装 Appium
npm install -g appium
# 证实安装
appium --version
2. Android平台必需Java JDK
Android的UiAutomator2驱动依赖Java。建议安装JDK 8 或更高版本(较新的Android API级别可能需要JDK 9+),并正确设置JAVA_HOME环境变量,指向JDK的根目录。
Android环境搭建
Android环境的重需要安装Android SDK和UiAutomator2驱动。
1. 安装 Android SDK 和工具
便捷的方式是通过Android Studio的SDK Manager下载所需组件。保证以下项目被勾选安装:
Android SDK Platform(选择计划测试的API级别)
Android SDK Platform-Tools(内含adb等工具)
安装后设置环境变量ANDROID_HOME,指向SDK的安装根目录(一般包含platform-tools文件夹)。
2. 准备测试设备
模拟器:通过Android Studio的AVD Manager创建并启动虚拟设备。
真机:在设备上开启开发者选项和USB调试,并通过USB连接电脑。
3. 设备连接
bash
# 保证 adb 在 PATH 中,或使用全途径
adb devices
# 列表中应出现你的设备/模拟器,状态为 "device"
如果这里看不到设备,后续Appium会话将无法创建。
4. 安装UiAutomator2驱动
在Appium 3中,驱动需要单独安装。停止正在运行的Appium服务器后执行:
bash
appium driver install uiautomator2
macOS iOS环境搭建
iOS自动化强依赖苹果的开发者工具链,且只能在macOS上运行。
1. 安装 Xcode 和命令行工具
从App Store安装Xcode(建议较新版本,如 10.2+),并保证命令行工具已配置。同时通过Homebrew安装Carthage等依赖:
bash
brew install carthage
2. 安装XCUITest驱动
和Android类似,iOS的驱动也需要单独安装:
bash
appium driver install xcuitest
3. WebDriverAgent签名真机调试:
iOS真机自动化需要WebDriverAgent。在真机上运行前必须对WDA进行代码签名否则无法安装到设备上。
自动签名:Xcode一般可以自动完成签名,前提是拥有有效的配置文件(Provisioning Profile)。
手动处理:如果自动签名失败,可尝试使用 通配符(*)配置文件;对于免费开发者账号,可能需要修改WDA项目的Bundle ID或使用Appium提供的sign-wda脚本来重新签名。
辅助命令:XCUITest驱动4.13+ 版本提供了便捷命令,可直接在Xcode中打开WDA工程进行签名配置:
bash
appium driver run xcuitest open-wda
4. 设备信任
首次在真机上运行WDA后,需在iOS设备的设置-通用-VPN和设备管理中,信任对应的开发者证书。
环境检查使用Appium Doctor
安装完驱动后,强烈建议使用Appium Doctor系统性地检查环境。可以指出缺失的依赖或未正确设置的环境变量。
bash
# 安装 Appium Doctor
npm install -g appium-doctor
# 检查 Android 环境
appium-doctor --android
# 检查 iOS 环境(macOS)
appium-doctor --ios
理想输出应以0 required fixes needed结束。如果有报错Appium Doctor一般会提供官方修复链接,按提示补齐即可。
也可以使用Appium内置的驱动检查命令快速证实单个驱动:
bash
appium driver doctor uiautomator2
appium driver doctor xcuitest
辅助工具和客户端
1. Appium Inspector
这是一个图形化工具,用于查看应用界面结构、定位元素。可从其 GitHub Releases 页面下载对应系统的安装包(Windows .exe,macOS .dmg)。
2. 测试客户端库
根据你的技术栈安装官方客户端:
Python:pip install Appium-Python-Client
Java:在 Maven/Gradle 中引入 io.appium:java-client 依赖。
常见问题和排查
Appium启动即失败,提示Node版本不支持:检查node -v,确定其版本满足Appium 3的要求(^20.19.0 || ^22.12.0 || >=24.0.0)。
adb devices无设备或显示unauthorized:检查USB调试是不是开启,并在设备屏幕上确定调试授权弹窗。
ANDROID_HOME或JAVA_HOME相关报错:确定环境变量指向正确目录,且修改后已重启终端或重新加载shell配置文件(如source ~/.zshrc)。
iOS 真机会话创建失败:优先排查WDA签名、设备是不是信任开发者证书、设备是不是开启开发者方式。绝大多数iOS真机问题都发生在应用启动之前。
完成以上步骤后,环境应已有同时运行Android和iOS自动化测试的基础能力。建议先用一个简单的示例脚本(如启动设备上的计算器应用并获取页面标题)来测试整个链路的连通。