Skip to main content

README

VNC from build server to local machine ssh -N -L 7900:localhost:7900 build-server

cat ~/.ssh/config

Host build-server HostName 192.168.1.122 User build-server

unzip -l android/app/build/outputs/apk/androidTest/release/app-release-androidTest.apk | grep -i detox


Appium (mobile)

  • Start Appium server: appium
  • Required env (one of these):
    • APP_PATH (path to app)
    • APP_PACKAGE + APP_ACTIVITY (Android)
    • BUNDLE_ID (iOS)
    • APPIUM_BROWSER_NAME (mobile web)
  • Optional env: APPIUM_SERVER_URL, APPIUM_DEVICE_NAME, APPIUM_AUTOMATION_NAME
    • If you run Appium v2 with /wd/hub, set APPIUM_SERVER_URL=http://localhost:4723/wd/hub
  • Android startup hardening (optional):
    • APPIUM_SKIP_DEVICE_INITIALIZATION=true
    • APPIUM_UIAUTOMATOR2_SERVER_LAUNCH_TIMEOUT=1200000
    • APPIUM_UIAUTOMATOR2_SERVER_INSTALL_TIMEOUT=1800000
    • APPIUM_ANDROID_INSTALL_TIMEOUT=2400000
    • APPIUM_ADB_EXEC_TIMEOUT=1800000
    • APPIUM_SESSION_CREATE_ATTEMPTS=3
    • APPIUM_SESSION_CREATE_RETRY_DELAY_MS=7000
  • Run:
    • yarn test:android
    • yarn test:ios

Android emulator auto-start (optional)

  • APPIUM_AVD (AVD name)
  • APPIUM_AVD_LAUNCH_TIMEOUT (ms)
  • APPIUM_AVD_READY_TIMEOUT (ms)
  • APPIUM_AVD_ARGS (extra emulator args)

Permissions/alerts defaults

  • Android: APPIUM_AUTO_GRANT_PERMISSIONS=true (default), APPIUM_DISABLE_ANDROID_WATCHERS=true (default)
  • iOS: APPIUM_AUTO_ACCEPT_ALERTS=true (default)

Appium MCP (AI-assisted Appium)

  • Edit apps/e2e-tests/appium-mcp.capabilities.json to match your device/app under the android, ios, and general sections.
  • Add the Appium MCP server to your MCP client config using CAPABILITIES_CONFIG pointing at the JSON file and ANDROID_HOME pointing at your Android SDK. A repo-level example is in mcp.json (merge it into your client config or point your client at it).
{
"mcpServers": {
"appium": {
"command": "npx",
"args": ["-y", "appium-mcp@latest"],
"env": {
"ANDROID_HOME": "/path/to/Android/sdk",
"CAPABILITIES_CONFIG": "/Users/ahmed/Documents/adamondo/GitHub/apps-monorepo/apps/e2e-tests/appium-mcp.capabilities.json"
}
}
}
}
  • Start the MCP server with yarn mcp:appium after setting ANDROID_HOME.

0- cd ~/Documents/adamondo/GitHub/apps-monorepo/apps/backend yarn start

1- cd ~/Documents/adamondo/GitHub/apps-monorepo/apps/e2e-tests npx appium

2- cd ~/Documents/adamondo/GitHub/apps-monorepo/apps/guest-frontend ./reload.sh

3- cd ~/Documents/adamondo/GitHub/apps-monorepo/apps/e2e-tests yarn test:android -t "Reservation Workflow - Happy Path"