Mobile & Desktop Test Harness
A self-contained Appium and emulator rig that tests the Android build without touching the machine's global setup.
- Client
- Codesage · EnAble India
- Role
- Framework author
- Period
- Jul 2026 — Present
- runtime targets covered
- 3runtime targets covered
- mobile platforms configured
- 2mobile platforms configured
- global installs required
- 0global installs required
Overview
Automation infrastructure
MEL ships as a browser app, a Windows desktop app and an Android app from one Tauri codebase — which means the same regression has to run on all three. I built a harness that keeps its own JDK, Android SDK and emulator image inside a single folder, so it is reproducible on any machine and leaves no global installs behind.
01
Why self-contained
Mobile test setups rot. Someone updates a global JDK, an SDK licence changes, and the suite that passed last week will not start. I pinned every dependency inside the project folder — the JDK, the Android SDK, the AVD image and the Appium server — so the rig either works everywhere or fails identically everywhere.
02
What is in it
- Page Object Model classes: BasePage, LoginPage, CandidatePage and CandidateProfilePage
- Separate Android and iOS platform configurations behind one shared framework
- An authentication hook so specs start from a signed-in state instead of re-driving login
- Discovery and probe runners that map an unfamiliar screen's controls before a spec is written against it
- Per-role application review sweeps that capture every module for a given role in one pass
- A Docker-based APK builder that produces the Tauri Android artefact reproducibly
- Mobile UAT sheets mirroring the web suites, so coverage is comparable across platforms
03
Where it pays off
Offline behaviour is the hardest thing to verify by hand, and it is exactly what a field officer depends on. Having a scriptable emulator meant I could reproduce the sync-cursor defect deterministically — write two records inside the same tick, force a sync, and watch one vanish — instead of arguing about whether it was real.
Stack
Mobile
- Appium
- Android SDK + AVD
- UiAutomator2
- iOS config
Structure
- Page Object Model
- Auth hooks
- Discovery runners
- Node.js
Build
- Docker
- Tauri Android
- Reproducible APK pipeline
Desktop
- Tauri Windows build verification
- Release artefact checks