mirror of
https://github.com/RSSNext/Folo.git
synced 2026-10-18 13:51:00 +08:00
259c283b06
The settings list grew, so the last row now stops underneath the floating tab bar when Maestro scrolls until it is visible, and the tap landed on the tab bar instead of the sign-out row. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Mobile E2E
Requirements
- Install Maestro CLI.
- Android: install the app on a booted emulator.
- iOS: provide a standalone simulator app bundle via
MAESTRO_IOS_APP_PATH, or place a localbuild-*.tar.gzfromeas build --local --platform ios --profile e2e-ios-simulatorinapps/mobile. - Export
E2E_EMAILif you want to reuse a fixed account. Otherwise the runner script creates a unique address.
Commands
pnpm run e2e:doctor
pnpm run e2e:android
pnpm run e2e:ios
pnpm run e2e:ios:bootstrap
iOS Notes
pnpm run e2e:iosruns two real journeys in sequence:auth.yaml: register -> sign out -> log incontent.yaml: ensure onboarding feed unfollowed -> follow -> timeline/read-unread -> unfollow
- The iOS runner resets the simulator, disables password autofill prompts, installs the provided app bundle, then executes Maestro.
Prod iOS auth bootstrap
When non-auth iOS self-tests need a signed-in simulator quickly, bootstrap auth through the standard iOS runner mode:
pnpm run e2e:ios:bootstrap
This mode uses the auth bootstrap helper on iOS when EXPO_PUBLIC_E2E_ENV_PROFILE=prod or EXPO_PUBLIC_E2E_ENV_PROFILE=local, and falls back to the normal iOS registration flow for other environments.
Optional environment variables:
E2E_EMAILE2E_PASSWORDMAESTRO_IOS_DEVICE_IDE2E_API_URLE2E_CALLBACK_URLE2E_BUNDLE_ID
The bootstrap script signs in against prod using the mobile fallback token header, writes the auth cookie into the simulator's ExpoSQLiteStorage fallback store, and relaunches the app.
Environment
E2E_EMAILE2E_PASSWORDMAESTRO_DEBUG_OUTPUTMAESTRO_IOS_APP_PATHEXPO_PUBLIC_E2E_ENV_PROFILEEXPO_PUBLIC_E2E_LANGUAGE