{"id":13611488,"url":"https://github.com/sergio-sastre/AndroidUiTestingUtils","last_synced_at":"2025-04-13T04:34:41.172Z","repository":{"id":37588821,"uuid":"455446218","full_name":"sergio-sastre/AndroidUiTestingUtils","owner":"sergio-sastre","description":"A set of TestRules, ActivityScenarios and utils to facilitate UI and screenshot testing under given configurations: FontSizes, Locales...","archived":false,"fork":false,"pushed_at":"2024-09-15T13:48:06.000Z","size":1257,"stargazers_count":290,"open_issues_count":5,"forks_count":14,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-09-15T15:03:33.507Z","etag":null,"topics":["android","android-instrumentation-tests","screenshot-testing","snapshot-testing","testing-tools","ui-testing"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sergio-sastre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["sergio-sastre"]}},"created_at":"2022-02-04T06:34:36.000Z","updated_at":"2024-09-15T13:43:08.000Z","dependencies_parsed_at":"2023-10-03T17:49:33.712Z","dependency_job_id":"10f199ac-87f2-4b6e-b524-aa828739392c","html_url":"https://github.com/sergio-sastre/AndroidUiTestingUtils","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergio-sastre%2FAndroidUiTestingUtils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergio-sastre%2FAndroidUiTestingUtils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergio-sastre%2FAndroidUiTestingUtils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergio-sastre%2FAndroidUiTestingUtils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sergio-sastre","download_url":"https://codeload.github.com/sergio-sastre/AndroidUiTestingUtils/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223568236,"owners_count":17166623,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-instrumentation-tests","screenshot-testing","snapshot-testing","testing-tools","ui-testing"],"created_at":"2024-08-01T19:01:56.124Z","updated_at":"2025-04-13T04:34:41.165Z","avatar_url":"https://github.com/sergio-sastre.png","language":"Kotlin","readme":"[![](https://jitpack.io/v/sergio-sastre/AndroidUiTestingUtils.svg)](https://jitpack.io/#sergio-sastre/AndroidUiTestingUtils)\u003c/br\u003e\n\u003ca href=\"https://androidweekly.net/issues/issue-508\"\u003e\n\u003cimg src=\"https://androidweekly.net/issues/issue-508/badge\"\u003e\n\u003c/a\u003e\n\u003e [!NOTE]  \n\u003e AndroidUiTestingUtils is still in active development and has a long roadmap!\u003c/br\u003e\n\u003e New features are expected to come in May 2025.\u003c/br\u003e\n\n\n# \u003cp align=\"center\"\u003eAndroid UI testing utils\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"130\" src=\"https://user-images.githubusercontent.com/6097181/172724660-778176b0-a6b0-4aad-b6b4-7115ad4fc7f3.png\"\u003e\n\u003c/p\u003e\n\nA set of *TestRules*, *ActivityScenarios* and utils to facilitate UI \u0026 screenshot testing under\ncertain configurations, independent of the UI testing libraries you are using.\n\u003cbr clear=\"left\"/\u003e\n\u003c/br\u003e\u003c/br\u003e\nFor screenshot testing, it supports:\n - **Jetpack Compose**\n - **android Views** (e.g. custom Views, ViewHolders, etc.)\n - **Activities**\n - **Fragments**\n - [**Robolectric**](https://sergio-sastre.gitbook.io/androiduitestingutils/setup/robolectric-setup)\n - [**Cross-library** \u0026 **Shared screenshot testing**](https://sergio-sastre.gitbook.io/androiduitestingutils/setup/cross-library-setup) i.e. same test running either on device or on JVM.\n\u003c/br\u003e\n\nThis library enables you to easily change the following configurations in your UI tests:\n\n1. 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** \u0026 **ar_XB**)\n    1. App Locale (i.e. per-app language preference)\n    2. System Locale\n2. Font size\n3. Orientation\n4. Custom themes\n5. Dark mode / Day-Night mode\n6. Display size\n\nWondering why verifying our design under these configurations is important? I've got you covered:\n\n🎨 [Design a pixel perfect Android app](https://sergiosastre.hashnode.dev/design-a-pixel-perfect-android-app-with-screenshot-testing)\n\u003c/br\u003e\u003c/br\u003e\n\n## Documentation\nCheck 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  \n\n## Sponsors\n\nThanks to [Screenshotbot](https://screenshotbot.io) for their support!\n[\u003cimg align=\"left\" width=\"100\" src=\"https://user-images.githubusercontent.com/6097181/192350235-b3b5dc63-e7e7-48da-bdb6-851a130aaf8d.png\"\u003e](https://screenshotbot.io)\n\nBy using Screenshotbot instead of the in-build record/verify modes provided by most screenshot\nlibraries, you'll give your colleages a better developer experience, since they will not be required\nto manually record screenshots after every run, instead getting notifications on their Pull\nRequests.\n\u003cbr clear=\"left\"/\u003e\n\n\u003c/br\u003e\u003c/br\u003e\n\u003ca href=\"https://www.flaticon.com/free-icons/ninja\" title=\"ninja icons\"\u003eAndroid UI testing utils\nlogo modified from one by Freepik - Flaticon\u003c/a\u003e\n\n","funding_links":["https://github.com/sponsors/sergio-sastre"],"categories":["Kotlin"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergio-sastre%2FAndroidUiTestingUtils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergio-sastre%2FAndroidUiTestingUtils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergio-sastre%2FAndroidUiTestingUtils/lists"}