Repository navigation
Conversation
…droid build Login, tab bar and Discover get testIDs Maestro selects on; EXPO_PUBLIC_E2E=1 hides LogBox banners over the tab bar. react-native-worklets 0.13 failed Reanimated 4.5.1's version check in Gradle; expo install picked 0.10.1 (dependency, not devDependency). Co-authored-by: Sebastian Gedda <sebastian.gedda@gmail.com>
The body edit, field override, header picker and from-scratch tests run against a DemoApp (browser here, Android next). Other-mock settings are compared only for mocks that existed before the change, since the services record new mocks during the run. Co-authored-by: Sebastian Gedda <sebastian.gedda@gmail.com>
…h Maestro E2E_ANDROID=1 adds the android project: Playwright drives the dashboard, Maestro flows in e2e/native/flows drive the app, adb screenrecord (chunked at 3 min) records the emulator. build-run-artifacts aligns both clips on their start times and the docs list every step as run. Scripts and README in e2e/native. Co-authored-by: Sebastian Gedda <sebastian.gedda@gmail.com>
Co-authored-by: Sebastian Gedda <sebastian.gedda@gmail.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This runs the dashboard GUI tests that map cleanly onto the native app against the WanderWeird Android debug APK. Playwright drives the Mockifyer dashboard, and Maestro drives the app on an emulator. The emulator is recorded with
adb shell screenrecordand placed next to the dashboard recording, aligned on their start times. Each test also gets a Markdown file with a "Steps as run" table (each Maestro command and dashboard action, with its result and duration).A new workflow,
.github/workflows/e2e-android.yml, runs nightly at 02:30 UTC and onworkflow_dispatch(presentation checkbox, default on). It does not run on pull requests, ande2e.ymlis unchanged.Test mapping
discover-erroris not shown.How it works
The Android test reuses the shared test body. Only the
appside differs (DemoApp):Each app step is one Maestro run against the app's testIDs:
The app goes through the same dashboard proxy as the web app. This is set on Metro, since the debug APK loads its JS from there:
# e2e/native/scripts/metro.sh start EXPO_PUBLIC_E2E=1 EXPO_PUBLIC_MOCKIFYER_BACKEND=redis EXPO_PUBLIC_MOCKIFYER_CLIENT_ID=wanderweird-demo npx expo start --port 8081Changes
EXPO_PUBLIC_E2E=1hides LogBox banners.react-native-worklets0.10.1: 0.13 failed Reanimated 4.5.1's Gradle version check, so the APK did not build.lib/gui-demo.tsholds the shared test bodies (web specs refactored onto it).lib/android.tsholds the fixture, Maestro runner, chunked screenrecord and step log.tests/android-gui*.spec.tsare the Android specs.native/flowsandnative/scriptshold the flows and scripts;native/README.mddocuments them.e2e-android.ymluses ubuntu-24.04 with KVM.android-emulator-runner,setup-gradle, cache and upload actions are pinned by SHA. It has AVD and Gradle caching, a 90 min timeout and the same artifact names ase2e.yml.Testing
kernel BUG at arch/x86/kvm/x86.c:702), so the Maestro flows and the recording have not been run on a device.build-apk.sh, x86_64, 168 s). The Android bundle builds through Metro.maestro check-syntaxpasses on all flows. actionlint passes on both workflows. shellcheck passes. tsc passes.npm testpasses. Nopackages/*changes, so there are no version bumps.