This is an implementation of test automation for Android and iOS apps in behavior-driven development (BDD) style, using Cucumber, Appium, Gradle, and Kotlin.
The sample scenario provided by the project is written to test the mobile apps built from the list-android and list-ios projects.
Page Object pattern is used in the implementation to make the test code more readable, maintainable, and reusable. In addition, dependency injection is used to to share state between steps.
- Kotlin/JVM
- Cucumber (Kotlin step definitions)
- Appium
- Gradle (Kotlin DSL)
- PicoContainer
- Place the app packages (e.g. list.apk and List.app built from list-android and list-ios) to a directory.
- Specify your paths to the app packages and set your desired capabilities in
DriverFactory.kt
.
- Launch Android emulator.
- Start Appium server.
- Navigate to your project directory and run:
./gradlew testAndroid
- Launch iOS simulator.
- Start Appium server.
- Navigate to your project directory and run:
./gradlew testIOS