Espresso cloud

Run Espresso on real Android devices

Run your Espresso suite on real Galaxy, Pixel, OnePlus and Xiaomi devices from Android 4.4 through Android 15 with a single CLI command. Massive parallelism, video & log artifacts and a 99.99% uptime SLA.

Looking at all platforms? See the full automation framework lineup.

Real Android devices
200+
Android versions
4.4 → 15
Uptime SLA
99.99%

Trusted by some of the world's most innovative companies

30-second answer

Why run Espresso on TestingBot?

Real Android devices

Run on a fleet of real Galaxy, Pixel, OnePlus and Xiaomi devices, not just emulators. Latest flagships on day one, plus a deep legacy fleet from Android 4.4.

Replace your in-house Android lab

Skip the cabinet of dusty phones, the swollen batteries and the OEM update treadmill. TestingBot has run Android tests on real devices for 5+ years.

Native Java & Kotlin

Use the same Espresso framework Google ships with Android Studio. Same APIs, same JUnit assertions, real native performance.

What is Espresso?

Espresso in 60 seconds

Espresso

Espresso

Google · built into Android Studio · Java / Kotlin

Espresso is Google's official UI testing framework for Android, built into Android Studio and the Android SDK. It uses the AndroidJUnitRunner instrumentation runner, and lets you script taps, swipes, scrolls, intents and view assertions against your app's real UI.

Because Espresso runs in the same process as your app, tests are fast and reliable, with automatic synchronisation between the test and the UI thread. It is the canonical choice for fast, in-process Android UI tests.

  • Native Google framework, built into Android Studio
  • Java and Kotlin bindings
  • Real Galaxy, Pixel, OnePlus, Xiaomi and emulators
  • View matchers, view actions, view assertions, intents
  • AndroidJUnitRunner, JUnit XML output for CI
One-line CLI

Run Espresso on real devices with one command

Install the TestingBot CLI, point it at your app APK and your test APK, pick a device — done. Uploads, capabilities and result polling are all handled for you.

install the CLI step 1
# Install the TestingBot CLI
$ npm install -g testingbot-cli

# Authenticate (once) — set your KEY and SECRET
$ export TESTINGBOT_KEY=your-key
$ export TESTINGBOT_SECRET=your-secret

# Build app + Espresso test APKs (one-off)
$ ./gradlew assembleDebug \
    assembleDebugAndroidTest
run Espresso step 2
# Run Espresso on a real Pixel — one command
$ testingbot espresso app.apk app-test.apk \
    --device "Pixel 8" \
    --platform-version "14" \
    --real-device

# Or, on a Galaxy
$ testingbot espresso app.apk app-test.apk \
    --device "Galaxy S24" \
    --real-device

# → live results in your TestingBot dashboard
# → JUnit XML, video and logcat via REST API

See the full Espresso on TestingBot documentation for advanced flags, parallel runs and CI integration.

Buy vs build

TestingBot vs an in-house Android device lab

Maintaining your own Android device lab is expensive. Devices break, OEMs ship updates on their own schedule, and Samsung's Knox controls keep changing. Here is how a hosted Android device cloud compares.

Capability TestingBot In-house Android lab
Device coverage
Galaxy, Pixel, OnePlus, Xiaomi from Android 4.4 to 15
Limited to what you can buy and rack
Time to first test
Minutes, one CLI command and you are running
Weeks of provisioning, ADB, MDM and tethering
Parallel scaling
Up to 100 concurrent Espresso sessions
Capped by the number of devices you own
Video & logs
Video, logcat, screenshots and JUnit XML
Roll your own recording & log aggregation
Reliability
99.99% uptime SLA, 24/7 monitoring
You replace dead batteries and broken screens
Security
Devices wiped between every session
Manual cleanup, leftover state risks
Support
24/7 human support and dedicated CSM
Stack Overflow and your own logs
Capabilities

Everything Espresso needs in the cloud

Beyond running tests, TestingBot exposes the full set of Espresso capabilities you would set in Android Studio, plus cloud-only features like geolocation and network throttling.

Real Android devices

Galaxy, Pixel, OnePlus & Xiaomi on demand

A fleet of real Android devices spanning Android 4.4 through Android 15, refreshed every release. Latest flagship phones available the day OEMs ship them.

View all devices
Test online on Galaxy S26

Galaxy S26

Test online on Huawei P40

Huawei P40

Test online on Pixel 10

Pixel 10

Test online on Pixel 9

Pixel 9

Test online on Galaxy S25

Galaxy S25

Test online on Redmi Note 13

Redmi Note 13

Video, screenshots and JUnit XML for every run
Test reports

Video, screenshots and JUnit XML for every run

Every Espresso run ships with a video screencast, logcat output, viewport screenshots and a JUnit XML report compatible with every major CI parser.

Mark sessions as passed or failed from your tests, fetch artifacts via our REST API, and ship results into Jira, Slack or your CI dashboard.

  • Full HD video for every test run
  • logcat output, app logs and crash reports
  • Viewport screenshots on demand
  • JUnit XML for Jenkins, GitHub Actions, GitLab CI
Continuous integration

Plug Espresso into your CI/CD in minutes

TestingBot integrates with every major CI/CD tool. Trigger Espresso runs on every build and stream device videos and JUnit reports back into your build dashboards.

Spoof device GPS
20+ regions
United States
United Kingdom
Germany
France
Spain
Belgium
Australia
China
Japan
Geolocation testing

Test your Android app from 20+ regions

Spoof the device GPS to anywhere in the world and verify localisation, geo-targeting and Play Store store-front rules from any country your customers live in.

Secure devices

Real devices. Wiped after every session.

Each Espresso session locks one real Android device for your test only. The moment your test ends, the device is wiped, all installed apps are deleted, caches are cleared, and the device is returned to the pool ready for the next customer.

SOC 2-aligned, GDPR-compliant, with SAML SSO and audit logs available for enterprise teams.

  • One real device per session, never shared
  • Wiped between every session
  • Encrypted .apk uploads with per-app retention controls
Visit TestingBot Trust Center
  1. 1

    Your Espresso run locks one real device

    A pristine Galaxy, Pixel, OnePlus or Xiaomi is reserved for your session only.

  2. 2

    Tests run natively on real Android hardware

    Real sensors, real fingerprint reader, real OEM customisations.

  3. 3

    Device wiped on release

    Apps removed, caches cleared, accounts wiped. Returned clean to the pool.

TestingBot secure tunnel for Espresso
Secure Tunnel

Test apps that talk to internal backends

Use our secure tunnel so Espresso runs can reach private APIs, staging environments and services running on localhost.

Encrypted end-to-end, no inbound firewall rules required, ready out of the box for popular CI providers.

Read more
FAQ

Espresso on TestingBot — frequently asked questions

What is Espresso and why run it on TestingBot?

Espresso is Google's native UI testing framework for Android. TestingBot runs your Espresso builds on a fleet of real Galaxy, Pixel, OnePlus and Xiaomi devices, so you do not have to maintain devices, OEM updates and ADB tunnels in-house. Upload your .apk and .apk test bundle through the TestingBot CLI and trigger runs in seconds.

Which Android versions are supported?

TestingBot supports real Android devices from Android 4.4 through Android 15, refreshed every Google and OEM release. We carry the latest flagship Galaxy, Pixel and OnePlus phones plus a deep legacy fleet for backwards-compat coverage.

Can I run on real devices and emulators?

Yes. Plans on TestingBot include both real Android devices and Android emulators with Google Play APIs. Toggle per-test with the --real-device flag in the TestingBot CLI.

Can I run Espresso in parallel?

Yes. Plans on TestingBot include up to 100 parallel Espresso sessions on real devices and emulators. Each session locks a dedicated device, so tests do not interfere with one another.

Can I filter which tests run?

Yes — use the test filters API to run a subset of your Espresso suite without rebuilding the bundle.

How do I see results?

Live in the TestingBot dashboard with HD video, logcat output and screenshots. Programmatically via the REST API. Plus a JUnit XML report compatible with every major CI parser.

Can Espresso reach my staging backend?

Install our secure tunnel and your Espresso runs can reach staging APIs, internal services and localhost without any inbound firewall rules.

Is the device cloud GDPR / SOC 2 compliant?

TestingBot is GDPR-compliant with EU data residency, ISO 27001 aligned and STAR Level 1 certified. Devices are wiped between sessions, app uploads are encrypted, and SAML SSO and audit logs are available on enterprise plans.

Ready to scale your Espresso runs?

Read our Espresso documentation and run your first test on a real Android device in under 5 minutes.

Start a free trial