Skip to content

test(ios): committed ASWebAuthenticationSession fixture + CI lane #2449

Open

Description

@thymikee

Follow-up to #2438 / #2448.

Purpose. #2448 shipped in-place capture/drive of com.apple.SafariViewService sign-in sheets, live-validated with a throwaway probe app. Give it a committed fixture and CI coverage on the real path.

Required behavior.

  • Add an expo-web-browser openAuthSessionAsync (or AppAuth) flow to examples/test-app that opens a web sign-in sheet against a local/bundled IdP page (email + password + submit → callback scheme).
  • Add an iOS smoke or Maestro replay lane that drives it semantically: wait label="LOGIN" → press role=textfield + type → fill role=securetextfield → press role=button label="LOGIN" → assert return to app.

Observable completion. The lane runs in CI on the shipped runner and fails if the sheet is not served (regression guard for the route bypass + runner serve).

Dependencies. Builds on #2448 (registry, runner serve, route probe already landed).

Activity

  1. thymikee commented on Sep 10, 2026

    @thymikee
    MemberAuthor

    Sequenced behind #2448 deliberately: this lane asserts the semantic sign-in flow (wait label="LOGIN" → press role=textfield + type → fill role=securetextfield → submit), which only passes once the in-place serve lands. Building it against main first would land a red lane.

    Plan when #2448 merges: stack the fixture + lane on it, then validate live on a simulator. Note the cold-start caveat — the first capture after a cold runner can return 0 nodes (pre-existing, tracked as #2343), so the lane should wait stable/wait <element> before reading the sheet rather than snapshotting immediately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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