Despite the annual improvement of tools — everything related to Android instrumented testing still can be challenging and requires a lot of attention from engineers.
The goal of this open-source documentation is to make the process of introducing instrumented testing into your team smoother and avoid repeating our mistakes.
Gordon is an Android instrumentation test runner designed for speed, simplicity, and reliability, so you can plug it in and never worry about flaky UI tests again.
TestCoroutineRule library to simplify testing of coroutines.
Shared preferences mock is the lightweight library let you increase coverage of unit tests and simplify code for them with one line of code.
This library allows you to run Android UI tests multiple times in a single instrumentation execution. Written in Kotlin.
Get bored with writing tedious and dull model tests?
Vago helps you write tests based on POJOs and supports test generation for POJOs transformations.
Allows to use green-coffee together with Android Test Orchestrator.
RxTest is a Kotlin library for testing RxJava.
Main features
Espresso's consistency makes it really easy to learn.
Want to match a view with a specific id? Use withId(R.id.some_id)
. Need to match with a piece of text? Use withText(R.id.some_text)
or withText("some text)
. Awesome, consistent and it's very clear what it is you are doing.
However...
After a few hours writing test code you'll find your code being a little bit too verbose. Not anymore.
Why should you need to explicitly specify that you are matching with some text if you are passing in some text as a parameter? Some for the view id, you can already see that it is a view id.
Ristretto allows you to write the same test code as you already write, but less verbose.
Deploy new features to a choosen percentage of uers before delivering it to everyone.
It's useful to see if the new feature is appreciated by users, and do some adjustment before the grand opening.
Green Coffee is an Android library that allows you to run Cucumber scenarios in your instrumentation tests.
An A/B Testing Library for Android that makes writing simple tests simpler by using annotations.
Testing and validation of REST services in Java is harder than in dynamic languages such as Ruby and Groovy. REST Assured brings the simplicity of using these languages into the Java domain.
Restito is a tool which is inspired by mockito and functionally is diametrically opposite to the Rest Assured.
Restito provides a DSL to:
A helper class that implements both an Espresso IdlingResource
and an OkHttp 2 and 3 Interceptors
.
A sweeter Espresso. Never write your own IdlingResource
again. Never manually turn off system animations again.
Simple class created in order to make Android automation testing easier, faster, cleaner and more intuitive. It synchronizes operations that might occur on any thread - with test thread. ConditionWatcher can be used as a replacement to Espresso's IdlingResources or it can work in parallel with them.
Simple tool which help you to implement A/B Test.
A library to avoid boilerplate when testing beans and simple data objects.
"Tired of testing beans (aka: objects with just gettes/setters and no logic)? Do not test them!"
A library for testing javac compilation with or without annotation processors.
Want to assert that class has private constructor? Let's do it!
Easy Espresso UI testing for Android applications using RxJava.
Selendroid is a test automation framework which drives of the UI of Android native and hybrid applications (apps) and the mobile web with Selendroid. Tests are written using the Selenium 2 client API and for testing the application under test must not be modified.
Selendroid can be used on emulators and real devices and can be integrated as a node into the Selenium Grid for scaling and parallel testing.
Fork is the fastest way to execute Android instrumentation test suites by Shazam developers.
Burst is a set of test runners which rely on enums for varying both the instantiation of test classes and the methods inside of them.
The goal of this project is to speed up the setup of Robolectric, Robotuim, Roboguice, and Mockito in Android Studio. Since there is not built in support for Robolectric there is a lot of manual set up that has to be done. This project uses Robolectric-gralde plugin as well as his InjectedTestRunner.