终端启动Appium时iOS模拟器测试报xcodebuild code 65求助
解决终端启动Appium时WebDriverAgent启动失败(code 65)的方案
1. 对齐终端与GUI的Xcode环境变量
GUI启动时会继承系统完整的环境配置,终端会话可能缺失关键变量:
- 终端执行
xcode-select -p,确认输出为Xcode 14.2的安装路径(示例:/Applications/Xcode.app/Contents/Developer)。若路径不对,执行sudo xcode-select -s /Applications/Xcode.app/Contents/Developer修正。 - 执行
xcodebuild -version,确认显示的Xcode版本为14.2,且命令无权限报错。 - 若使用zsh,检查
~/.zshrc中是否配置了export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer,配置后执行source ~/.zshrc生效。
2. 手动预编译WebDriverAgent
终端启动Appium时可能未自动处理WebDriverAgent的签名与编译,GUI通常会自动完成:
- 找到WebDriverAgent的安装目录,一般在
/usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent(或你本地Appium安装路径下的对应位置)。 - 用Xcode 14.2打开该目录下的
WebDriverAgent.xcodeproj。 - 选择目标为你的iPhone模拟器,点击编译(快捷键Cmd+B)。若遇签名问题,在Xcode的
Signing & Capabilities面板中,给WebDriverAgentRunner和WebDriverAgentLib设置一个临时Team(选择你的Apple ID,需提前有免费开发证书)。 - 编译成功后关闭Xcode,再用终端启动Appium执行测试。
3. 检查终端权限与用户上下文
GUI以当前登录用户的图形身份运行,终端可能存在权限或身份差异:
- 确保终端用当前登录用户打开,避免用root启动Appium(除非必要)。
- 检查WebDriverAgent目录权限:执行
ls -ld /usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent,确保当前用户有读写权限,无权限则执行sudo chown -R $(whoami) /usr/local/lib/node_modules/appium。 - 终端执行一次
xcodebuild,确认没有未处理的Xcode许可协议(首次打开Xcode需同意条款,GUI启动时可能已处理,但终端会话可能未同步)。
4. 调整终端启动的Appium参数
添加参数强制对齐GUI的配置逻辑:
- 启动Appium时添加
--allow-insecure xctest_session,命令示例:appium --allow-insecure xctest_session。 - 检查Capabilities配置,确保
automationName为XCUITest,同时添加"wdaLocalPort": 8100指定固定端口,避免端口冲突。 - 用
--log-level debug启动Appium,查看详细日志,定位Xcodebuild失败的具体原因(比如签名错误、依赖缺失等)。
内容的提问来源于stack exchange,提问作者haris yadav
相关产品推荐
相关产品推荐

