Skip to content

Demo App

The Astur Demo App (com.astur.demo) is a small native app whose only job is to give automation a stable, predictable target. Every screen demonstrates one capability — tap, scroll, swipe, drag, form input, file upload, and hybrid WebView — with fixed test ids so locators stay reliable across runs and platforms.

It is the same app the runnable suites drive, so the screenshots below map one-to-one to the specs in the astur-boilerplate starter (and the in-repo examples/).

Demo home screen with hero card, coverage list, and bottom navigation.
Home — app shell, menu, and permissions. Scroll down to the Tap Laboratory to exercise single tap, double tap, and long press against live counters.
Credentials screen with email and password fields, sign in, and biometrics.
Logintext entry, field validation, alerts, and biometrics. Fill the inputs, dismiss the keyboard, and submit.
Input controls screen with text field, slider, switch, and checkbox.
Formstext input, switch, checkbox, slider drag, dropdown, and media/file upload in one screen.
Capability carousel screen showing a horizontal card carousel.
Swipehorizontal swipe across the carousel, then vertical scroll to reach a hidden panel.
Drag and drop screen with a four-tile puzzle of the Astur icon.
Drag & Dropdrag gestures. Rebuild the Astur icon by dragging each tile into its slot.
Web Lab screen showing a native WebView with DOM targets.
Web Labhybrid WebView: switch into the web context with device.webContext(), drive DOM locators, submit a web form, and upload inside the WebView.

The builds ship with the boilerplate and in this repo’s assets/:

  • Android: assets/astur.demo.android.apk
  • Android (Flutter): assets/astur.demo.android_flutter.apk
  • iOS simulator: assets/astur.demo.ios.simulator.zip (unzip to assets/Astur.app)
  • iOS simulator (Flutter): assets/astur.demo.ios.simulator_flutter.zip (unzip to assets/Runner.app)
  • iOS real device: assets/astur.demo.ios.ipa

The same specs run on four targets. Astur installs the demo app on first run and auto-installs its own agent, so the only prerequisite is a visible device.

TargetVisible viaWhat you need
Android emulatoradb devices (e.g. emulator-5554)A booted AVD. Nothing else — Astur installs the APK and its agent.
Android real deviceadb devicesUSB debugging enabled and the device authorized. Same auto-install path.
iOS simulatorxcrun simctl list devices bootedA booted simulator and the unzipped Astur.app.
iOS real devicexcrun devicectl list devicesA trusted, Developer-Mode device, the .ipa, and ASTUR_IOS_DEVELOPMENT_TEAM set so the XCUITest agent can be signed.

Try it through the Inspector without writing a test:

Terminal window
# Android emulator
npx astur-mobile codegen --android --device emulator-5554 \
--app ./assets/astur.demo.android.apk --app-id com.astur.demo
# iOS simulator
npx astur-mobile codegen --ios --simulator \
--app ./assets/Astur.app --app-id com.astur.demo

Or run the full feature suite from the astur-boilerplate starter:

Terminal window
npx astur-mobile test --config config/android/playwright.config.ts