【Appium 系列】第02节-环境搭建 — Android + iOS 双平台环境配置

发布时间:2026/5/15 12:20:17

【Appium 系列】第02节-环境搭建 — Android + iOS 双平台环境配置 第02节-环境搭建 — Android iOS 双平台环境配置对应代码配套代码scripts/check_android_env.py、config.yaml说明本节是所有配置的实际操作方法配套代码中提供了一个环境检测脚本帮你诊断环境问题。这节讲什么Appium 环境搭建我搞过 3 次每次都得重新查资料。JDK、Android SDK、ADB、Appium Server、UiAutomator2、Xcode、WebDriverAgent、Tidevice……十几个组件版本不对就报错。原项目环境配置文档写了 581 行就是因为坑太多。这节把核心流程整理出来下次搭环境不用再翻十几个页面。系统要求平台能测什么要装什么macOSAndroid iOSJDK、Android SDK、Xcode、Node.jsWindowsAndroid onlyJDK、Android SDK、Node.jsLinuxAndroid onlyJDK、Android SDK、Node.jsiOS 自动化依赖 Apple 官方工具链Xcode、代码签名、Simulator 等官方仅提供 macOS 版本。在本节「本机搭全套环境」的语境下iOS 侧需要 Mac。没有本机 Mac 时常见做法是云 Mac / CI 的 macOS Runner远端仍是 macOS或第三方真机/云测由厂商提供设备与执行环境。纯 Windows / Linux 无法用 Xcode 在本机等价复刻同一套流程所谓变通通常是把 macOS 或合规托管环境挪到云端/厂商侧而不是在单一非 Mac 工作机上替代整套官方工具链。Android 环境四步第一步JDK# 检查是否已装 java -version # macOS brew install openjdk17 # Windows去 Oracle 官网下载 JDK 17 安装包版本注意Appium 2.0 要求 JDK 17但 JDK 21 在某些 UiAutomator2 场景下兼容性有问题。推荐 JDK 17。第二步Android SDK# macOS brew install --cask android-commandlinetools # 配环境变量 export ANDROID_HOME$HOME/Library/Android/sdk export PATH$PATH:$ANDROID_HOME/platform-tools export PATH$PATH:$ANDROID_HOME/cmdline-tools/latest/bin # 装必要的组件 sdkmanager platform-tools platforms;android-34 build-tools;34.0.0环境变量要写到 shell 配置文件里.zshrc或.bash_profile否则新开终端就得重设。我吃过这个亏——明明装好了新开窗口跑测试说找不到 adb。第三步验证 ADBadb version adb devices真机需要开启 USB 调试。模拟器启动后会自动连接。第四步Appium Server 驱动# 装 Node.js brew install node # 装 Appium 2.0 npm install -g appium # 装 Android 驱动 appium driver install uiautomator2 # 验证 appium driver list注意Appium 2.0 跟 1.x 不一样。1.x 装完appium就能用。2.0 必须额外装 driver。我第一次装的时候就踩了这个坑——装完跑测试报错查了半天才发现少了这步。iOS 环境两种方式方式一Tidevice推荐不用 Xcode 编译省掉签名配置的麻烦。pip3 install tidevice # 查看设备 tidevice list # 启动 WDA 代理 tidevice wdaproxy -B com.example.WebDriverAgent --port 8100 # 验证 curl http://127.0.0.1:8100/status优点不需要 Xcode 编译 WDA不需要配置开发者签名启动速度快。方式二传统 WebDriverAgent# 需要 XcodeApp Store 下载 git clone https://github.com/appium/WebDriverAgent.git # 在 Xcode 中打开配好签名编译安装到设备 # 设备上信任开发者证书麻烦的地方每次 Xcode 升级或 WDA 重新编译都要折腾签名配置。团队里新来一个人光配 WDA 环境就要半天。环境变量配置配套代码里的配置方式# Android export PLATFORMandroid export ANDROID_PLATFORM_VERSION14 export ANDROID_DEVICE_NAMEAndroid Emulator export APP_PACKAGEcom.example.app export APP_ACTIVITY.MainActivity # iOS export PLATFORMios export IOS_PLATFORM_VERSION17.0 export IOS_DEVICE_NAMEiPhone 15 export BUNDLE_IDcom.example.app export USE_TIDEVICEtrue # API export API_BASE_URLhttps://api.example.com export API_TIMEOUT30config.yaml里也有对应的配置项两套机制都可以用。验证环境# 1. Java 版本 java -version # 2. ADB 连接 adb devices # 3. Appium appium --version # 4. 驱动列表 appium driver list # 5. TideviceiOS tidevice list # 6. 用配套代码的环境检测脚本 python scripts/check_android_env.py踩过的坑1. Appium Server 没启动症状Connection refused: localhost:4723原因忘了先跑appium。测试脚本是去连 Server 的Server 没起来当然连不上。2. JDK 版本不对JDK 21 在某些 Android 模拟器场景下导致 UiAutomator2 安装失败。降回 JDK 17 就好了。3. ADB 找不到设备真机连接电脑后手机弹窗要点允许 USB 调试。不点的话adb devices显示unauthorized。4. 环境变量忘了 source配好了ANDROID_HOME但新开终端窗口后忘了source ~/.zshrc跑脚本报找不到 adb。5. Appium 2.0 的 driver 没装npm install -g appium后直接跑测试报错The desired capabilities must include either an app, appPackage or browserName。查了半天才发现 2.0 还要appium driver install uiautomator2。6. iOS 的 WDA 签名问题用传统方式配 WDAXcode 签名配置稍微不对就编译失败。后来改用 Tidevice省心多了。快速启动清单java -versionadb devicesappium --versionappium driver list能看到 uiautomator2appium启动 Server保持终端开着新开终端pytest tests/ -v

相关新闻