Espresso on real devices
Upload the two APKs Gradle already builds — your app APK and its androidTest APK — and run your Espresso tests on our real Android phones and emulators, from CI, with no change to your tests.
Run your existing Espresso tests on our Android phones and emulators. You upload the same two APKs Gradle already builds for you — your app and its androidTest APK — and we run the suite on the devices you name.
There is no code to change and nothing of ours to add to your project. Your tests run on the device exactly as they do under connectedAndroidTest.
How it works
Four calls, all to https://hub.testkase.com/espresso/v1:
- Upload your app —
POST /espresso/v1/appwithapp-debug.apk. You get back afarm://app-…URL. - Upload your test suite —
POST /espresso/v1/test-suitewithapp-debug-androidTest.apk. You get back afarm://suite-…URL. - Start a build —
POST /espresso/v1/buildwith both URLs and a list of devices. You get back abuild_id. - Check the result —
GET /espresso/v1/builds/<build_id>until the build is no longerqueuedorrunning.
Every request, response, field and error code is in the API reference (interactive — you can try each call there); for a step-by-step walkthrough with curl, see Getting started.
A build is one app and one test suite on up to 20 devices. Each device gets its own session: the whole suite (or the part your filters pick) runs once on that device. The devices run at the same time, within your plan's parallel-session limit.
What you get
Real devices and emulators
Physical Android phones by default; an emulator when you ask for one with virtual: true.
Per-test results
Every test with its status, duration and, for a failure, the stack trace.
Per-test video
One clip for each test, so a failure opens straight on the moment it happened.
Logs
The device log, the raw test output and the crash dump (device log and crash dump unless you turn deviceLogs off).
All Commands
Each Espresso action and check your test made, like single click or check matches(...).
CI-friendly status
One build status to gate on: passed, failed, error, timedout or stopped.
Every build also shows up in your dashboard under Automate → Mobile Apps → Runs.
In this section
Questions
▶Running Espresso locally and importing results into Test Management?
That is a different feature. If you run Espresso on your own devices or in your own CI and want the JUnit results in TestKase Test Management, see Espresso in Test Management.
▶Can I run the same tests on several devices at once?
Yes. List up to 20 devices in one build. Each device runs the full suite (or the part your filters select) once, and they run in parallel up to your plan's thread limit. A device over that limit waits for one of your threads to free up, for as long as maxQueueWaitSeconds allows.
▶Can I split one suite across several devices?
Not yet. Sharding is not available, so every device runs every selected test. See what is not available yet.
▶Can I watch an Espresso run live?
No. Live view is for Appium sessions. For Espresso you get a video clip of each test once it has finished.
▶How is it billed?
Like Appium: per device session, per minute, against your Automate plan. A build on five devices is five sessions. Waiting in the queue is not billed.
