Summary
On an iOS 26 Simulator (Xcode 26), a session with appium:usePreinstalledWDA: true + appium:prebuiltWDAPath fails: the preinstalled WebDriverAgent launches but its :8100 server never comes up, so session-create times out. Disabling usePreinstalledWDA (letting the driver build + launch WDA in-session) works. Same setup worked on the previous macOS runner image (older iOS/Xcode), so it's an iOS-26 / Xcode-26 regression.
This is the Simulator + simctl counterpart of #1147 (which was real-device + devicectl, closed by redirect to the device-farm plugin).
Environment
- GitHub-hosted
macos-26-arm64 runner — macOS 26.4, Xcode 26, iPhone 17 / iOS 26 simulator
- Appium 3.5.x,
appium-xcuitest-driver 11.17.1, appium-webdriveragent 15.1.3, Node 24
Repro
- Pre-build WDA (no appium session):
xcodebuild build-for-testing -project .../appium-webdriveragent/WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -derivedDataPath "$DD" -destination 'generic/platform=iOS Simulator' CODE_SIGNING_ALLOWED=NO → succeeds, produces .../Debug-iphonesimulator/WebDriverAgentRunner-Runner.app.
- Start a session with
appium:usePreinstalledWDA: true, appium:prebuiltWDAPath = that Runner.app, appium:udid = a booted iOS-26 simulator.
Result
[WD Proxy] connect ECONNREFUSED 127.0.0.1:8100 (repeated ~120s)
[XCUITestDriver] Failed to get the status endpoint in 120000 ms … connect ECONNREFUSED 127.0.0.1:8100
Error: Failed to start the preinstalled WebDriverAgent in 120000 ms …
at launchPreinstalled (…/appium-webdriveragent@15.1.3/…/wda-strategies.js:214)
at async SimulatorWdaStrategy.launch (…/wda-strategies.js:38)
The Runner.app installs and launches, but nothing ever listens on :8100. Deterministic — every session, on retries too.
Workaround / signal
Removing usePreinstalledWDA (so the driver builds + launches WDA the normal in-session way) → sessions create fine and tests pass on the same iOS-26 simulator. So the WDA build itself is fine; the preinstalled-launch path is what regressed on iOS 26. (We've moved our CI to the in-session build as a stopgap.)
Happy to provide full appium logs.
Summary
On an iOS 26 Simulator (Xcode 26), a session with
appium:usePreinstalledWDA: true+appium:prebuiltWDAPathfails: the preinstalled WebDriverAgent launches but its:8100server never comes up, so session-create times out. DisablingusePreinstalledWDA(letting the driver build + launch WDA in-session) works. Same setup worked on the previous macOS runner image (older iOS/Xcode), so it's an iOS-26 / Xcode-26 regression.This is the Simulator + simctl counterpart of #1147 (which was real-device +
devicectl, closed by redirect to the device-farm plugin).Environment
macos-26-arm64runner — macOS 26.4, Xcode 26, iPhone 17 / iOS 26 simulatorappium-xcuitest-driver11.17.1,appium-webdriveragent15.1.3, Node 24Repro
xcodebuild build-for-testing -project .../appium-webdriveragent/WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -derivedDataPath "$DD" -destination 'generic/platform=iOS Simulator' CODE_SIGNING_ALLOWED=NO→ succeeds, produces.../Debug-iphonesimulator/WebDriverAgentRunner-Runner.app.appium:usePreinstalledWDA: true,appium:prebuiltWDAPath= that Runner.app,appium:udid= a booted iOS-26 simulator.Result
The Runner.app installs and launches, but nothing ever listens on
:8100. Deterministic — every session, on retries too.Workaround / signal
Removing
usePreinstalledWDA(so the driver builds + launches WDA the normal in-session way) → sessions create fine and tests pass on the same iOS-26 simulator. So the WDA build itself is fine; the preinstalled-launch path is what regressed on iOS 26. (We've moved our CI to the in-session build as a stopgap.)Happy to provide full appium logs.