-
Notifications
You must be signed in to change notification settings - Fork 15
Description
[BUG] iOS simulator (WDA) cannot focus/type into WebView login fields although fields are visible in hierarchy
First of all: huge thanks to the maintainers for this project.
maestro-runner is awesome and very promising. 👍👍👍
I’m reporting a reproducible iOS issue where tapOn succeeds on WebView login fields, but inputText still fails because no editable field is considered focused.
Environment
- Host OS: macOS (Apple Silicon)
maestro-runner: 1.0.9- Driver: iOS WDA (
--platform ios) - Device: iOS Simulator (
iPhone 17 Pro Max, iOS 26.2) - App under test: React Native (Expo dev client)
- Metro started with localhost host mode (
expo start --dev-client --host localhost)
What fails
In a login WebView (mepas.cez.cz):
tapOn: text="E-mail"succeedstapOn: text="Heslo"succeedstapOn: text="Přihlásit se"succeedsinputTextfails with:context deadline exceeded: no elements match selector
Flow then fails waiting for the app home tab.
Minimal reproduction pattern
appId: "<redacted-app-id>"
---
- launchApp:
stopApp: true
clearState: false
- openLink:
link: "<redacted-scheme>://e2e/go-home"
optional: true
- tapOn:
id: "auth-login-button"
optional: true
- tapOn:
text: "Continue"
optional: true
- tapOn:
text: "E-mail"
optional: true
- inputText:
text: "example@example.com"
optional: true
- tapOn:
text: "Heslo"
optional: true
- inputText:
text: "secret"
optional: true
- tapOn:
text: "Přihlásit se"
optional: trueCommand:
maestro-runner \
--platform ios \
--device <simulator-udid> \
test \
--wait-for-idle-timeout 0 \
login-fast.yamlWhy this looks like a focus/keyboard issue
From hierarchy on failing step:
XCUIElementTypeTextField name="E-mail"is present and visibleXCUIElementTypeSecureTextField name="Heslo"is present and visible- But
inputViewisvisible="false"(keyboard not active) - After successful taps,
inputTextstill cannot type
So runner can discover/tap controls, but input focus does not become active for text entry in this WebView context.
What I already tried
- Forcing fresh app process each run (
launchApp.stopApp: true) - Using both point-based and text-based selectors
- Prioritizing selector-based taps before point fallback
- Switching Metro host mode to localhost (
127.0.0.1) to avoid bundle connection errors - Lowering idle wait timeout (
--wait-for-idle-timeout 0)
No change: inputText continues to fail in this iOS WebView login.
Related issues reviewed
- [BUG] inputText not working correctly #13 (
inputText not working correctly) – looked similar but was resolved as flow/onboarding timing - [BUG] InputText chars are getting skipped #32 (
InputText chars are getting skipped) – typing speed issue, not focus acquisition - [BUG] the tool should use name or label instead of content-desc on iOS #3 (iOS selector handling) – selector resolution improvements already shipped
This report seems different: selectors resolve, taps execute, but editable focus is not activated in WebView.
Request / question
Could you advise whether this is a known WDA/WebView limitation in maestro-runner iOS path, or if there is a recommended workaround/flag?
If helpful, I can attach the exact hierarchy XML + screenshot + full runner report bundle.
Thanks again for the great tool and quick issue turnaround. 👍