12 open-source projects similar to android/testing-samples, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Testing Samples alternative.
This repository provides a collection of reference implementations and patterns for testing Android applications. It serves as a guide for developers to integrate standard testing libraries and frameworks into their projects, covering the full spectrum of verification from local business logic to complex interface interactions. The project distinguishes itself by demonstrating how to configure and execute tests across diverse environments, including local virtual machines and physical devices or emulators. It provides specific patterns for validating inter-application communication, automatin
This project is an automated testing framework designed to capture and verify the visual state of Android interface components. It provides a system for generating deterministic snapshots of UI elements, allowing developers to establish baselines for layout consistency and detect unintended visual regressions across different software versions and hardware configurations. The framework distinguishes itself by enabling isolated component rendering, which allows individual views to be tested without requiring a full application build. It ensures consistency by controlling the rendering lifecycl
uiautomator2 is an Android device automation tool and UI testing library. It functions as a framework for automating user interface interactions and managing device states via a remote client. The project provides a remote management interface for controlling Android applications, simulating user gestures, and managing system settings. It enables the analysis of XML UI hierarchies to locate interface elements and verify application behavior. The tool covers broad capability areas including application lifecycle management, device connectivity, and file system operations. It also includes sys
Robolectric is a unit testing framework that runs Android tests directly inside the Java Virtual Machine, eliminating the need for an emulator or physical device. It provides a fully simulated Android environment that initializes system resources, application context, and the UI thread before each test, then resets state afterward to isolate tests from one another. The framework distinguishes itself by using shadow classes to intercept and replace Android framework method calls at runtime, allowing tests to control Android component lifecycles, simulate native methods, and test UI components
EarlGrey is an iOS UI automation test framework that enables writing and running automated tests simulating real user interactions. It provides a synchronized test execution engine that automatically waits for animations, network requests, and run-loop states to complete before performing test actions or assertions, producing stable and repeatable results across test runs. The framework distinguishes itself through out-of-process interaction handling, managing system alerts and app switching during tests, and a pixel-level visibility checker that verifies UI elements are actually visible and
Awaitility is a Java asynchronous testing library and conditional polling framework. It provides a fluent domain-specific language to synchronize tests with asynchronous operations by polling for specific states or conditions. The library allows for the configuration of polling intervals, timeouts, and the assignment of specific threads or services to handle background polling. It includes mechanisms for deadlock detection, exception filtering to treat specific errors as false results, and the ability to fail fast when a prohibited condition is met. The framework covers state verification, i
AndPermission is a unified API manager for coordinating runtime permissions, secure file sharing, and high-privilege system access on Android. It provides a lifecycle-aware wrapper for handling dangerous permissions and user consent callbacks through a centralized permissions manager. The project distinguishes itself by managing special permissions that require high-privilege access, such as notification monitoring, screen overlays, and the ability to install applications from unknown sources. It also includes a dedicated tool for secure file sharing that generates temporary read and write ac
This repository is a collection of reference implementations and galleries demonstrating best practices for the Android View system. It provides a set of practical examples for building user interfaces, including a component gallery and implementation guides for layouts, list performance, and motion design. The project distinguishes itself through detailed samples for coordinating layout animations and transition effects. It includes specialized demonstrations for complex motion animations using keyframes and interpolation, as well as a visualization tool for animation interpolation curves to
Kvaesitso is a search-centric Android launcher that replaces the traditional home screen with a unified search interface for launching apps, searching files, and performing quick actions. Its core identity is built around a search-first model that indexes apps, contacts, files, and external services, supported by a Material Design 3 theming system with custom color palettes and monochrome icon filters for a personalized appearance. The launcher distinguishes itself through an extensible plugin system that adds new data providers for weather, file search, cloud storage, public transport, and t
Goss is a declarative system validation framework that verifies server state by comparing live system attributes against YAML specifications. It checks the state of packages, ports, services, files, users, processes, DNS records, kernel parameters, mounts, network interfaces, and HTTP endpoints, reporting pass or fail for each condition. The tool distinguishes itself through several automation capabilities. It can scan a running system to automatically generate YAML baseline files that capture current resource configurations, eliminating the need to write tests from scratch. A retry-with-time
ytdlnis is a mobile application that serves as a graphical client for the yt-dlp engine on Android. It functions as a media downloader and manager, providing a user interface to retrieve video and audio from websites. The project distinguishes itself by integrating directly with the Android system share menu and intents to trigger background downloads from external apps. It includes a dedicated authentication cookie manager to import and sync browser session data, enabling the retrieval of private, age-restricted, or premium content. The application covers broad capability areas including au
ComposeCookBook is a Jetpack Compose UI component library and layout reference. It serves as a collection of declarative interface elements, reusable widgets, and structural mockups for organizing content within the Jetpack Compose framework. The project functions as an Android UI design gallery and animation showcase. It provides a library of visual transitions and interactive state changes, alongside full-page layout examples and demo screens that demonstrate visual patterns for Android applications. The repository covers broader capabilities including Android layout prototyping, UI testin