Skip to content

feat: migrate Android E2E tests to real device over LAN - #41

Merged
tai2 merged 3 commits into
mainfrom
e2e-test-on-android-real-device
Apr 17, 2026
Merged

feat: migrate Android E2E tests to real device over LAN#41
tai2 merged 3 commits into
mainfrom
e2e-test-on-android-real-device

Conversation

@tai2

@tai2 tai2 commented Apr 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Replace emulator-based Android E2E infrastructure with real-device support over LAN
  • Make WebSocket host configurable via EXPO_PUBLIC_E2E_WS_HOST env var (baked into APK at build time)
  • Update Appium config: remove appium:avd, add appium:udid and appium:autoGrantPermissions
  • Require E2E_WS_HOST in the Android build script to prevent misconfigured builds
  • Enable swipe-to-delete tests on Android (previously iOS-only) with relative swipe distances
  • Update README with Android real-device setup and execution instructions

Test plan

  • pnpm typecheck passes
  • pnpm lint passes (no new warnings)
  • pnpm test:ci — all 113 unit tests pass
  • pnpm e2e:android — verified on Moto G24 (Android 14) real device over LAN

🤖 Generated with Claude Code

tai2 and others added 3 commits April 16, 2026 23:23
Replace emulator-based Android E2E infrastructure with real-device support.
The WebSocket host is now configurable via EXPO_PUBLIC_E2E_WS_HOST (baked
into the APK at build time), the Appium config targets physical devices
via UDID instead of launching an AVD, and the build script requires
E2E_WS_HOST to prevent misconfigured builds.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Real devices take longer to reinstall and initialize the app after
session reload. Bump the e2e-mode wait from WAIT_SHORT (10s) to
WAIT_MEDIUM (30s) to avoid flaky failures on slower hardware.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…istance

Remove the iOS-only guard on swipe-to-delete tests since they now work
on real Android devices. Use a relative swipe distance (30% of screen
width) instead of a hardcoded 150px for consistency across screen sizes.
Also fix the e2e command example in README to remove extraneous --.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@tai2
tai2 merged commit e6bffad into main Apr 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant