
E2E testing framework for Compose UI apps offering unified DSL, zero production-code pollution, automatic app discovery/orchestration, and built-in headless-friendly test recording.
Compose Multiplatform E2E Testing Framework
Parikshan is a testing framework designed specifically for Compose Multiplatform. It provides a unified, cross-platform DSL to write end-to-end (E2E) UI tests that run on Android, iOS, Desktop, and Web (Wasm) using a single codebase.
Writing E2E tests for multiplatform apps often requires juggling multiple tools like Appium, Maestro, and Playwright, each with its own configuration and production code "pollution." Parikshan aims to simplify this:
📖 Full Documentation & API Reference | 🌐 Wasm Demo
In your shared library (e.g., :composeApp) build.gradle.kts:
plugins {
id("io.github.aryapreetam.parikshan") version "0.0.1"
}Create a test in src/commonTest/kotlin:
class MyE2ETest {
@Test
fun testLoginFlow() = e2eTest {
// Simple, intent-based DSL
waitFor("login_button")
inputText("username_field", "admin")
click("login_button")
assertVisible("dashboard_screen")
screenshot("login-success")
}
}./gradlew e2eAndroidTest
./gradlew e2eIosTest
./gradlew e2eDesktopTest
./gradlew e2eWasmTestValidate the library on your platform by downloading the pre-built sample application:
| Platform | Download Link |
|---|---|
| 🍏 macOS (Intel) | Download x64 DMG |
| 🍎 macOS (Apple Silicon) | Download arm64 DMG |
| 🪟 Windows | Download MSI |
| 🤖 Android | Download APK |
| 🌐 Web (Wasm) | Download ZIP |
| iOS Simulator | Download ZIP |
MIT License © 2026 aryapreetam and contributors. See LICENSE for details.
This library was built with inspiration from the excellent work of the Kotlin and Compose Multiplatform communities, including terrakok's KMP Web Wizard and the many developers pushing the boundaries of cross-platform testing.
Compose Multiplatform E2E Testing Framework
Parikshan is a testing framework designed specifically for Compose Multiplatform. It provides a unified, cross-platform DSL to write end-to-end (E2E) UI tests that run on Android, iOS, Desktop, and Web (Wasm) using a single codebase.
Writing E2E tests for multiplatform apps often requires juggling multiple tools like Appium, Maestro, and Playwright, each with its own configuration and production code "pollution." Parikshan aims to simplify this:
📖 Full Documentation & API Reference | 🌐 Wasm Demo
In your shared library (e.g., :composeApp) build.gradle.kts:
plugins {
id("io.github.aryapreetam.parikshan") version "0.0.1"
}Create a test in src/commonTest/kotlin:
class MyE2ETest {
@Test
fun testLoginFlow() = e2eTest {
// Simple, intent-based DSL
waitFor("login_button")
inputText("username_field", "admin")
click("login_button")
assertVisible("dashboard_screen")
screenshot("login-success")
}
}./gradlew e2eAndroidTest
./gradlew e2eIosTest
./gradlew e2eDesktopTest
./gradlew e2eWasmTestValidate the library on your platform by downloading the pre-built sample application:
| Platform | Download Link |
|---|---|
| 🍏 macOS (Intel) | Download x64 DMG |
| 🍎 macOS (Apple Silicon) | Download arm64 DMG |
| 🪟 Windows | Download MSI |
| 🤖 Android | Download APK |
| 🌐 Web (Wasm) | Download ZIP |
| iOS Simulator | Download ZIP |
MIT License © 2026 aryapreetam and contributors. See LICENSE for details.
This library was built with inspiration from the excellent work of the Kotlin and Compose Multiplatform communities, including terrakok's KMP Web Wizard and the many developers pushing the boundaries of cross-platform testing.