iOS15+Xcode13环境下Appium模拟器初始化失败如何解决?
问题解答
1. Appium对Xcode13的兼容性
Appium官方正式支持Xcode13,仅要求Appium版本不低于1.22.0。低于该版本的Appium内置的WebDriverAgent(简称WDA)无法适配Xcode13的编译规则,会出现WDA启动失败的问题,对应你日志里的8100端口连接拒绝报错。如果你的Appium版本低于1.22.0,优先升级到最新稳定版即可解决基础兼容问题。
2. Capability配置遗漏项
你当前的配置缺少iOS自动化必备的核心参数,需要补充以下字段:
udid:对应模拟器的唯一设备ID,可通过终端执行xcrun simctl list查询指定iPhone13(iOS15)模拟器的udid填入,单设备调试场景也可直接填auto让Appium自动匹配usePrebuiltWDA:设置为true,复用已编译完成的WDA,避免每次启动都重新编译的耗时和编译失败风险wdaLaunchTimeout:设置为120000(单位毫秒),给Xcode13编译启动WDA预留足够时间,避免超时被判定为启动失败xcodeSigningId:模拟器场景填"iPhone Developer"即可,真机场景需替换为你自己的开发者证书签名ID
补充后的参考配置如下:
{ "automationName": "XCUITest", "platformName": "iOS", "deviceName": "iPhone 13", "platformVersion": "15.0", "udid": "auto", "usePrebuiltWDA": true, "wdaLaunchTimeout": 120000, "xcodeSigningId": "iPhone Developer" }
额外排查建议
如果补充配置后还是出现8100端口拒绝的报错,可以手动打开Xcode,找到Appium安装目录下的node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj项目,选择目标iPhone13模拟器手动编译运行一次,确认WDA能正常在模拟器启动后再使用Appium调用即可。
内容的提问来源于stack exchange,提问作者Nir Tal
相关产品推荐
相关产品推荐

