Skip to content

[BUG] iOS WebView inputText cannot focus/type after successful tapOn #34

@genesiscz

Description

@genesiscz

[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):

  1. tapOn: text="E-mail" succeeds
  2. tapOn: text="Heslo" succeeds
  3. tapOn: text="Přihlásit se" succeeds
  4. inputText fails 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: true

Command:

maestro-runner \
  --platform ios \
  --device <simulator-udid> \
  test \
  --wait-for-idle-timeout 0 \
  login-fast.yaml

Why this looks like a focus/keyboard issue

From hierarchy on failing step:

  • XCUIElementTypeTextField name="E-mail" is present and visible
  • XCUIElementTypeSecureTextField name="Heslo" is present and visible
  • But inputView is visible="false" (keyboard not active)
  • After successful taps, inputText still 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

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. 👍

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions