Android E2E testing · for QA teams & device farms

Test Android against the world
your users actually live in.

Hand us your Android APK and a YAML scenario. Aperture returns an injection-ready build with real-world camera feeds and live sensor data wired in — run it anywhere your tests already run: laptop, CI, or full device farm. REST API for one-off builds; our JAR for batch processing at fleet scale.

4K · 60fps
per-device video
20+
sensor channels
<40 ms
end-to-end latency
0
code changes required

Your farm runs in a windowless room. Your users don't.

Synthetic test environments produce synthetic confidence. The features that depend on real-world inputs — vision, location, motion, environment — get the least real-world testing.

01

Cameras stare at the ceiling

QR scanners, document capture, AR, on-device CV — none of it gets exercised against real frames in CI. The bug ships to production, where the world finally walks in front of the lens.

02

Sensors are flat-lined

GPS is null, the accelerometer reads gravity, the gyro never moves. Location, navigation, motion and health features ship untested against any actual signal.

03

Bugs aren't reproducible

"Worked on my device." Without controllable inputs the same test gives a different answer every run, and the team learns to ignore the failures that actually matter.

One injection layer for every signal a device cares about.

Camera & video injection

Replace any Android device's front or rear camera with a pre-recorded clip, RTSP stream, image sequence or generated frame source. Loop a QR code, replay a driver-assist scene, feed a live webcam — at up to 4K/60 with frame-accurate seeking.

  • MP4, H.264, H.265, WebM and raw frames
  • Per-test, per-device, per-camera selection
  • Deterministic playback for golden-frame diffs

Sensor stream injection

Push live or scripted values into every sensor Android exposes — GPS, accelerometer, gyroscope, magnetometer, barometer, proximity, ambient light, step counter, heart-rate, even custom HALs.

  • Replay GPX, NMEA and CSV traces in real time
  • Programmatic API for synthetic motion patterns
  • Sub-frame timestamp alignment with video

Reproducible by design

Every session is a deterministic recording. Re-run a flaky test against the exact same frames and sensor timeline.

Drop-in API

REST and WebSocket. Slots into Appium, Espresso, XCUITest, Detox, Maestro or your in-house runner.

No SDK. No source changes.

We transform the APK you'd ship to production. No imports, no build flavors, no fork of your release pipeline.

On-prem or cloud

Self-host inside your VPC, or run on our managed plane. Your video and trace data never have to leave your network.

APK in. Injection-ready APK out. Run it anywhere your tests already run.

No SDK to embed, no fork of your release build. Aperture transforms the APK you'd ship to production into one that consumes your scenario as if it came from real hardware. Use the REST API for one-off builds; device farms can hit the same pipeline at scale via our JAR.

01

Bring your APK and scenario

The APK you'd ship to production, plus a YAML file describing the camera feed and sensor traces to inject.

app-release.apk
12.4 MB · debug · v2.31.0
scenario.yml
02

Upload via API or JAR

One HTTP call wires it together. Device farms swap the curl for our JAR to batch hundreds of builds in one shot.

~/aperture · zsh
03

Get an injection-ready APK

The API returns a signed APK that consumes your scenario as if from real hardware. Install it on emulators, physical devices, or any farm.

app-aperture.apk
18.7 MB · signed · v2.31.0
injection ready

Used by QA teams baking real-world inputs into nightly E2E suites, and by device farm operators offering injection as a first-class capability to their customers via the JAR.

Wherever a real device meets the real world.

Computer vision & AR

Test object detection, face auth, document scanning and AR overlays against curated frame sets — every commit, every device.

Maps & navigation

Replay real driving traces. Validate rerouting, geofences and offline behavior without sending an engineer outside.

Fitness & health

Stream step, heart-rate and motion data to verify activity detection and goal logic deterministically.

Payments & KYC

Inject ID-card, passport and QR frames into camera flows to keep onboarding tests stable across releases.

Automotive & IoT

Drive companion apps with synchronized sensor and camera scenarios that mirror the vehicle or device under simulation.

Game & XR QA

Pump gyro and accelerometer patterns into motion-controlled games — repeat the exact same swing every run.

Plays nicely with the farm you already have.

Aperture is a thin layer in front of the device. It doesn't replace your orchestration, your runner or your dashboards — it just makes the inputs honest.

Talk to engineering
Android Emulator Physical Android Espresso UIAutomator Maestro Appium Detox Self-hosted STF Firebase Test Lab AWS Device Farm BrowserStack Sauce Labs Gradle plugin Kubernetes GitHub Actions GitLab CI Jenkins Buildkite CircleCI iOS Simulator · beta Physical iOS · beta

Built for the strictest infrastructure environments.

SOC 2 Type II

Independently audited controls for security, availability and confidentiality. Reports available under NDA.

On-prem, VPC or cloud

Deploy as a Helm chart inside your cluster, peer into your VPC, or run on our managed plane. Your call.

Your data stays yours

Video and trace data never leave the network you choose. SSO, SCIM, audit logs and per-tenant encryption keys included.

Ship tests against the world your users actually live in.

Whether you're a QA team adding real-world signals to your nightly E2E run, or a device farm operator looking to offer injection as a capability — tell us about your setup and we'll put together a thirty-minute walkthrough with a scenario tailored to your stack.

  • Same-day API key for QA teams
  • Exclusive JAR distribution for device farm partners
  • SOC 2 Type II · on-prem deployment available