a27c019e70
The e2eSignInAlice button only mounts once the proxy is configured, which previously relied solely on the proxy TextInput's onSubmitEditing handler triggered via `pressKey: Enter`. Enter is unreliable on the iOS simulator, so the sign-in buttons sometimes never appeared and flows failed with "Element not found: e2eSignInAlice". - TestCtrls.e2e.tsx: extract the proxy-configuration logic into a named onConfigureProxy function, still called by onSubmitEditing (Enter remains a fallback), and add a dedicated e2eConfigureProxy Pressable that is always rendered so setup can tap it deterministically. - setupApp.yml: tap e2eConfigureProxy instead of pressing Enter, then guard with an extendedWaitUntil for e2eSignInAlice (60000ms) so the race becomes an explicit bounded wait shared by every flow reusing this setup. - run-nightly-e2e.sh: add `--retries 2` to the maestro test invocation so a single flaky miss doesn't fail the whole nightly run. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Umqi3SMj5PvH2ZVxQYWCcx
42 lines
922 B
YAML
42 lines
922 B
YAML
appId: xyz.blueskyweb.app
|
|
---
|
|
- launchApp:
|
|
appId: "xyz.blueskyweb.app"
|
|
clearState: true
|
|
arguments:
|
|
"-EXDevMenuIsOnboardingFinished": true
|
|
- runFlow:
|
|
when:
|
|
platform: iOS
|
|
commands:
|
|
- extendedWaitUntil:
|
|
visible: "http://localhost:8081"
|
|
timeout: 60000
|
|
- tapOn: "http://localhost:8081"
|
|
- runFlow:
|
|
when:
|
|
platform: Android
|
|
commands:
|
|
- extendedWaitUntil:
|
|
visible: "http://10.0.2.2:8081"
|
|
timeout: 60000
|
|
- tapOn: "http://10.0.2.2:8081"
|
|
- extendedWaitUntil:
|
|
visible: "Continue"
|
|
timeout: 180000
|
|
- tapOn: "Continue"
|
|
- back
|
|
- extendedWaitUntil:
|
|
visible:
|
|
id: e2eProxyHeaderInput
|
|
timeout: 180000
|
|
- tapOn:
|
|
id: e2eProxyHeaderInput
|
|
- inputText: ${output.result}
|
|
- tapOn:
|
|
id: e2eConfigureProxy
|
|
- extendedWaitUntil:
|
|
visible:
|
|
id: e2eSignInAlice
|
|
timeout: 60000
|