-
Notifications
You must be signed in to change notification settings - Fork 815
Open
Description
Description
The iOS provider introduced in v0.9.0 does not actually use iOS Safari via Appium. Commands fall back to Chromium/Playwright.
Environment
- agent-browser: 0.9.0
- macOS: Darwin 25.2.0 (macOS 16.2)
- Xcode: 26.2
- Appium: 3.2.0
- XCUITest driver: 10.19.1
- iOS Simulator: iPhone 17 Pro (iOS 26.1)
Steps to Reproduce
-
Install Appium and XCUITest driver:
npm install -g appium appium driver install xcuitest
-
Build WebDriverAgent for simulator:
cd ~/.appium/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent xcodebuild build-for-testing -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -sdk iphonesimulator -derivedDataPath ./DerivedData CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
-
Boot simulator and run:
xcrun simctl boot "iPhone 17 Pro" agent-browser -p ios --device "iPhone 17 Pro" open http://example.com agent-browser -p ios eval "navigator.userAgent"
Expected Behavior
- Safari should open on iOS Simulator
- User agent should show Mobile Safari, e.g.:
Mozilla/5.0 (iPhone; CPU iPhone OS 26_1 like Mac OS X) AppleWebKit/...
Actual Behavior
- Returns immediately (no WDA startup delay)
- User agent shows HeadlessChrome:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/145.0.7632.6 Safari/537.36 - No Appium sessions created (verified via
curl http://localhost:4723/sessions) - Appium is running but not being used
Additional Context
Also seeing intermittent daemon issues:
Failed to read: Resource temporarily unavailable (os error 35) (after 5 retries - daemon may be busy or unresponsive)
This may be related to #322.
Analysis
Looking at ios-manager.ts, it appears the IOSManager should connect via webdriverio to Appium, but the provider selection logic in the daemon may not be activating it correctly.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels