Awesome
</br> <a href="https://androidweekly.net/issues/issue-508"> <img src="https://androidweekly.net/issues/issue-508/badge"> </a>
<p align="center">Android UI testing utils</p>
<p align="center"> <img width="130" src="https://user-images.githubusercontent.com/6097181/172724660-778176b0-a6b0-4aad-b6b4-7115ad4fc7f3.png"> </p>A set of TestRules, ActivityScenarios and utils to facilitate UI & screenshot testing under certain configurations, independent of the UI testing libraries you are using. <br clear="left"/> </br></br> For screenshot testing, it supports:
- Jetpack Compose
- android Views (e.g. custom Views, ViewHolders, etc.)
- Activities
- Fragments
- Robolectric
- Cross-library & Shared screenshot testing i.e. same test running either on device or on JVM. </br>
This library enables you to easily change the following configurations in your UI tests:
- Locale (also Pseudolocales en_XA & ar_XB)
- App Locale (i.e. per-app language preference)
- System Locale
- Font size
- Orientation
- Custom themes
- Dark mode / Day-Night mode
- Display size
Wondering why verifying our design under these configurations is important? I've got you covered:
🎨 Design a pixel perfect Android app </br></br>
Documentation
Check out this library's documentation page to see how to use it, including code and ready-to-run examples
Sponsors
Thanks to Screenshotbot for their support! <img align="left" width="100" src="https://user-images.githubusercontent.com/6097181/192350235-b3b5dc63-e7e7-48da-bdb6-851a130aaf8d.png">
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. <br clear="left"/>
</br></br> <a href="https://www.flaticon.com/free-icons/ninja" title="ninja icons">Android UI testing utils logo modified from one by Freepik - Flaticon</a>