
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.
End-to-End testing framework for Compose Multiplatform
In your shared library module (e.g. :shared/:composeApp) build.gradle.kts:
plugins {
id("io.github.aryapreetam.parikshan") version "0.0.9"
}Create a test in src/commonTest/kotlin:
package sample.app
import io.github.aryapreetam.parikshan.e2eTest
import kotlin.test.Test
class SimpleGreetTest {
@Test
fun testSimpleGreeting() = e2eTest {
// enter in the input component tagged name_input
input("name_input", "परिक्षण")
// click button with text 'Greet!'
click("Greet!")
// check if greeting is displayed
assertVisible("Hello, परिक्षण!")
}
}./gradlew e2eAndroidTest
./gradlew e2eIosTest
./gradlew e2eDesktopTest
./gradlew e2eWasmTest
# Run across multiple targets simultaneously
./gradlew e2eTest --targets=desktop,wasm,android,iosSee the Examples Page for working samples and video demonstrations across all supported platforms.
MIT License © 2026 aryapreetam. See LICENSE for details.
End-to-End testing framework for Compose Multiplatform
In your shared library module (e.g. :shared/:composeApp) build.gradle.kts:
plugins {
id("io.github.aryapreetam.parikshan") version "0.0.9"
}Create a test in src/commonTest/kotlin:
package sample.app
import io.github.aryapreetam.parikshan.e2eTest
import kotlin.test.Test
class SimpleGreetTest {
@Test
fun testSimpleGreeting() = e2eTest {
// enter in the input component tagged name_input
input("name_input", "परिक्षण")
// click button with text 'Greet!'
click("Greet!")
// check if greeting is displayed
assertVisible("Hello, परिक्षण!")
}
}./gradlew e2eAndroidTest
./gradlew e2eIosTest
./gradlew e2eDesktopTest
./gradlew e2eWasmTest
# Run across multiple targets simultaneously
./gradlew e2eTest --targets=desktop,wasm,android,iosSee the Examples Page for working samples and video demonstrations across all supported platforms.
MIT License © 2026 aryapreetam. See LICENSE for details.