This project contains UI and API automation tests using Kotlin, Selenium, and RestAssured, following best practices.
- Language: Kotlin 1.8+
- Build Tool: Maven 3.8+
- Testing Framework: JUnit 5
- API Testing: RestAssured 4.x
- UI Testing: Selenium WebDriver 4.x (ChromeDriver)
- Configuration Management:
test.properties
- Java JDK 11+ installed and
JAVA_HOME
configured. - Maven 3.8 or higher on the
PATH
. - Chrome browser installed (Chromedriver managed automatically via WebDriverManager).
All external settings live in src/test/resources/test.properties
. Common keys include:
base.url=http://host:3000
login.username[email protected]
login.password=password
timeout.seconds=10
polling.millis=500
Adjust values before running tests.
├── pom.xml # Maven settings and dependency versions
├── README.md # Project documentation (this file)
├── src
│ ├── main
│ │ └── kotlin/aura/automation
│ │ ├── api # API client classes and routes
│ │ ├── models # Data models (Post, PostStatus)
│ │ ├── pages # Page Object classes for UI tests
│ │ └── utils # Helpers (config loader, JSON paths, wait utils)
│ └── test
│ ├── kotlin/aura/automation/tests
│ │ ├── api # API test scenarios
│ │ └── ui # UI test scenarios
│ └── resources # `test.properties` and test data
- In IntelliJ: Use gutter icons or Maven tool window to run tests.
- Command line:
mvn clean verify
Test results are available under target/surefire-reports
by default. To integrate advanced reports (e.g., Allure), add the corresponding Maven plugin and configuration.
- Parallel execution setup
- CI pipeline definitions
- External report integration