Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sergio-sastre/AndroidUiTestingUtils

A set of TestRules, ActivityScenarios and utils to facilitate UI and screenshot testing under given configurations: FontSizes, Locales...
https://github.com/sergio-sastre/AndroidUiTestingUtils

android android-instrumentation-tests screenshot-testing snapshot-testing testing-tools ui-testing

Last synced: 3 months ago
JSON representation

A set of TestRules, ActivityScenarios and utils to facilitate UI and screenshot testing under given configurations: FontSizes, Locales...

Awesome Lists containing this project

README

        

[![](https://jitpack.io/v/sergio-sastre/AndroidUiTestingUtils.svg)](https://jitpack.io/#sergio-sastre/AndroidUiTestingUtils)


#

Android UI testing utils



A set of *TestRules*, *ActivityScenarios* and utils to facilitate UI & screenshot testing under
certain configurations, independent of the UI testing libraries you are using.

For screenshot testing, it supports:
- **Jetpack Compose**
- **android Views** (e.g. custom Views, ViewHolders, etc.)
- **Activities**
- **Fragments**
- [**Robolectric**](https://sergio-sastre.gitbook.io/androiduitestingutils/setup/robolectric-setup)
- [**Cross-library** & **Shared screenshot testing**](https://sergio-sastre.gitbook.io/androiduitestingutils/setup/cross-library-setup) i.e. same test running either on device or on JVM.

This library enables you to easily change the following configurations in your UI tests:

1. Locale (also [Pseudolocales](https://developer.android.com/guide/topics/resources/pseudolocales#:~:text=4%20or%20earlier%3A-,On%20the%20device%2C%20open%20the%20Settings%20app%20and%20tap%20Languages,language%20(see%20figure%203)) **en_XA** & **ar_XB**)
1. App Locale (i.e. per-app language preference)
2. System Locale
2. Font size
3. Orientation
4. Custom themes
5. Dark mode / Day-Night mode
6. Display size

Wondering why verifying our design under these configurations is important? I've got you covered:

🎨 [Design a pixel perfect Android app](https://sergiosastre.hashnode.dev/design-a-pixel-perfect-android-app-with-screenshot-testing)

## Documentation
Check out [this library's documentation page](https://sergio-sastre.gitbook.io/androiduitestingutils/) to see how to use it, including code and ready-to-run examples

## Sponsors

Thanks to [Screenshotbot](https://screenshotbot.io) for their support!
[](https://screenshotbot.io)

By using Screenshotbot instead of the in-build record/verify modes provided by most screenshot
libraries, you'll give your colleages a better developer experience, since they will not be required
to manually record screenshots after every run, instead getting notifications on their Pull
Requests.

Android UI testing utils
logo modified from one by Freepik - Flaticon