升级Xcode13和iOS15后Appium及桌面端无法启动WDA会话问题
Xcode13升级后iOS15模拟器无法启动WDA问题解决方案
问题根因
该问题是Xcode13配套的iOS15模拟器对WebDriverAgent(WDA)的编译运行逻辑发生了变更,低于v1.22.0版本的Appium内置的appium-webdriveragent组件未适配iOS15模拟器的运行规则,导致xcodebuild执行后WDA未正常启动监听端口,最终抛出connect ECONNREFUSED 127.0.0.1:xxxx报错。真机运行不受影响是因为真机的签名、运行逻辑和模拟器存在差异,旧版WDA可正常兼容。
解决步骤
- 升级Appium或appium-webdriveragent组件
- 若使用Appium桌面版,直接升级到v1.22.0及以上版本即可,该版本已默认适配Xcode13+iOS15模拟器运行逻辑
- 若使用npm安装的命令行版Appium,执行命令
npm install -g appium@latest升级到最新版本 - 若无需升级全量Appium,可单独更新webdriveragent组件:进入Appium安装目录下的appium-webdriveragent文件夹,执行
npm install appium-webdriveragent@latest完成组件更新
- 手动编译验证WDA(升级后仍异常可执行该步骤)
打开Appium对应的WebDriverAgent项目文件,不同安装方式对应路径如下:- Appium桌面版:
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj - npm命令行版:
/usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj
打开项目后选择WebDriverAgentRunnerscheme,运行目标选择对应iOS15模拟器,点击运行按钮等待WDA成功安装并启动,确认WDA运行正常后再触发自动化执行即可。
- Appium桌面版:
- 可选capability配置优化
若需要调整启动重试逻辑、查看详细编译日志,可在测试用例的capability中添加以下配置:{ "wdaStartupRetries": 4, "wdaStartupRetryInterval": 20000, "showXcodeLog": true }
注意事项
升级Xcode13后需要首次打开Xcode同意许可协议,等待内置组件安装完成后再执行自动化任务,否则xcodebuild命令会直接卡住导致WDA启动失败。
内容的提问来源于stack exchange,提问作者Jano
相关产品推荐
相关产品推荐

