Nice and simple DSL for Appium in Kotlin
Kakao Appium is a concise Kotlin DSL and helper library that makes writing Appium-based UI tests easier and more readable. It brings the familiar Kakao-style API to Appium so you can assert and interact with views using Kotlin idioms.
Highlights:
- Kotlin-first DSL with optional Java interoperability
- Small, focused API for locating and interacting with UI elements
- Works with Appium server
- Support Android, iOS, Flutter appium integration
Add dependency to your project
Gradle (module-level):
testImplementation "io.github.kakaocup:appium:<VERSION>"Create the Kakao Screen class
class MainActivityScreen(driver: AppiumDriver? = null) : AppiumScreen<MainActivityScreen>(
driver = driver
) {
val increment: KWebElement = onWebElement {
android {
withText("Increment")
}
}
val result: KWebElement = onWebElement {
android {
withContentDescription("clickCounter")
}
}
}And simply use it in tests
@Test
fun sampleClickAndAssert() {
onAppiumScreen<MainActivityScreen>(driver!!) {
result {
isDisplayed()
isEnabled()
hasText("0")
assert("0", actual = { text })
}
increment {
click()
}
result {
hasText("1")
}
}
}- Android
- iOS
- Flutter
val increment: KWebElement = onWebElement {
android {
withContentDescription("increment_description")
}
ios {
withId("increment_id")
}
default {
withText("Increment")
}
}When test will be executed Kakao will select platform matcher based on provided Appium driver. It may help you to create identical testing scenarios for multiplatform projects.
- Install Appium with platform specific drivers
- Build and install the application in
./gradlew sample:installDebugdirectory - Run Appium tests from
appium-testmodule./gradlew appium-tests:test
Welcome PR with Examples
Welcome PR with Examples
Kakao Appium is an open source project, and depends on its users to improve it. We are more than happy to find you interested in taking the project forward.
Kindly refer to the Contribution Guidelines for detailed information.
Please refer to Code of Conduct document.
Kakao Appium is open source and available under the Apache License, Version 2.0.

