iOS 自动化测试全流程教程(基于 WebDriverAgent+go-ios)
1. 概述
要实现跨平台(Windows/macOS)控制 iOS 设备(支持 iOS 17+),核心在于搭建一套稳定的工具链。我们主要依赖以下组件协作:
- WebDriverAgent(WDA):运行在 iOS 设备上的服务端,负责接收并执行自动化指令。
- go-ios:跨平台工具,用于在 Windows/macOS 上启动 WDA、建立设备通信,替代了 macOS 专属的 Xcode 依赖限制。
- facebook-wda:WDA 的 Python 客户端库,用于编写具体的自动化脚本。
2. 环境准备(Windows/macOS 通用)
2.1 安装 go-ios(核心通信工具)
go-ios 是连接设备的桥梁,支持端口转发和 WDA 管理。根据系统不同,有两种安装路径:
方式一:通过 npm 安装(推荐 Windows)
- 确保已安装 Node.js,验证命令:
node -v和npm -v。 - 全局安装:
npm install -g go-ios。 - 验证安装:运行
ios --help。若提示'命令未找到',请将 npm 的 bin 目录加入环境变量(通常位于C:\Users\用户名\AppData\Roaming\npm\bin)。
方式二:通过 Go 安装(推荐 macOS)
- 安装 Go 环境(1.18+),验证:
go version。 - 安装包:
go install github.com/danielpaulus/go-ios@latest。 - 为统一命令,复制可执行文件:
cp $GOPATH/bin/go-ios $GOPATH/bin/ios。 - 验证:
ios --help(需将$GOPATH/bin加入环境变量)。
2.2 安装 iTunes(仅 Windows 需要)
Windows 系统依赖 iTunes 提供的 usbmuxd 驱动进行 USB 通信:
- 下载并安装 iTunes,务必勾选'安装驱动程序'。
- 连接设备后,若 iTunes 能识别即表示驱动正常。
注意:macOS 无需此步骤,Xcode 已内置相关服务。
2.3 安装 wintun(仅 Windows 需要,iOS 17+ 必备)
iOS 17+ 启动 WDA 必须依赖 wintun 隧道组件:
- 下载最新版 wintun(选择对应架构):
- 64 位系统:下载
wintun-xxx-amd64.msi,提取wintun.dll。 - 32 位系统:下载
wintun-xxx-x86.msi,提取wintun.dll。
- 64 位系统:下载
- 将
wintun.dll复制到系统目录:

