You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Appium运行多台iOS物理设备?连接崩溃问题求助

解决Appium多iOS物理设备连接崩溃/端口拒绝问题

核心问题分析

你遇到的问题本质是多设备并行时,WebDriverAgent(WDA)端口冲突、设备唯一性标识缺失,导致Appium服务无法正确区分和连接设备。


分步解决方案

1. 为每台设备启动独立的Appium服务实例

每台设备需要对应一个独立的Appium服务,必须同时指定唯一的Appium服务端口和WDA端口,不能只设置单一端口:

  • 第一台设备启动命令:
    appium server -p 4723 --driver-xcuitest-webdriveragent-port 8100 --driver-xcuitest-device-timeout 120000
    
  • 第二台设备启动命令:
    appium server -p 4724 --driver-xcuitest-webdriveragent-port 8101 --driver-xcuitest-device-timeout 120000
    
    注意:
    • -p 指定Appium服务自身的端口,必须唯一不重复
    • --driver-xcuitest-webdriveragent-port 指定WDA的端口,每台设备对应一个具体整数(不要用810x这类占位符)
    • 增加超时参数避免因WDA启动缓慢导致的套接字挂断

2. 配置Capabilities时指定设备唯一标识

每个设备的Capabilities必须明确指定UDID,让Appium精准定位目标设备:

# 第一台设备的Capabilities配置
caps_1 = {
    "platformName": "iOS",
    "appium:platformVersion": "16.0",
    "appium:deviceName": "iPhone 14",
    "appium:udid": "你的第一台设备UDID",
    "appium:automationName": "XCUITest",
    "appium:wdaLocalPort": 8100  # 与对应Appium服务的WDA端口保持一致
}

# 第二台设备的Capabilities配置
caps_2 = {
    "platformName": "iOS",
    "appium:platformVersion": "16.0",
    "appium:deviceName": "iPhone 13",
    "appium:udid": "你的第二台设备UDID",
    "appium:automationName": "XCUITest",
    "appium:wdaLocalPort": 8101  # 与对应Appium服务的WDA端口保持一致
}

获取设备UDID的方法:连接设备后在终端执行idevice_id -l

3. 确保WDA正确安装并授权

  • 每台设备首次运行前,手动授权WDA:打开设备「设置」→「通用」→「VPN与设备管理」→ 信任WDA对应的开发者证书
  • 如果WDA安装失败,执行以下命令手动编译安装,确认无报错:
    xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=设备UDID' test
    

4. 排查端口占用问题

若仍出现端口拒绝,先检查端口是否被占用:

# 检查Appium服务端口(示例:4723)
lsof -i :4723
# 检查WDA端口(示例:8100)
lsof -i :8100

如果有占用进程,执行以下命令强制终止:

kill -9 进程PID

5. 禁用自动WDA重启(可选)

部分场景下自动重启WDA会引发端口冲突,可在Capabilities中添加以下配置:

"appium:useNewWDA": False
"appium:noReset": True

常见误区规避

  • 不要用810x这类占位符作为端口号,必须使用具体整数
  • 不要忽略UDID配置,Appium无法通过deviceName区分同型号设备
  • 不要只设置WDA端口,忘记配置Appium服务自身的唯一端口

内容的提问来源于stack exchange,提问作者Amit Morad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 22:41:08