Parikshan
The Parikshan ecosystem provides a unified, cross-platform end-to-end (E2E) testing framework for Compose Multiplatform.
It is designed with a Zero-Pollution philosophy, ensuring that your production application remains clean of testing infrastructure while providing a powerful, intent-based DSL for UI automation.
Architecture
Parikshan is divided into several specialized modules:
| Module | Description |
|---|---|
| parikshan-core | The shared communication protocol and smart selector resolution engine. |
| parikshan-client | The developer-facing DSL and cross-platform drivers (Android, iOS, Wasm, Desktop). |
| parikshan-server | The in-app orchestration server that bridges Compose semantics to the test runner. |
Core Principles
-
Customer Obsessed: The DSL is designed to be readable and straightforward, focusing on user intent (e.g.,
click("Login")) rather than implementation details. -
AI Ready: The APIs are semantically named and well-documented, allowing AI agents to understand and generate tests with minimal context.
-
Pillar Parity: Parikshan provides a consistent experience across all 4 major platforms supported by Compose Multiplatform.
All modules:
The client module is the primary entry point for developers. it provides the end-to-end (E2E) testing DSL and the platform-specific drivers that orchestrate test execution.
The core module contains the shared logic that powers the entire Parikshan ecosystem. It is a pure Kotlin Multiplatform module with zero external platform dependencies.
The server module provides the bridge that lives inside your application during a test run. It is responsible for exposing Compose semantics to the external test runner.