π Installation Guide
QABase 2.2.0 is available on Maven Central, making it easy to integrate into an existing Java automation project without custom setup work.
β οΈ Prerequisite: Your project must be using Java 17 or higher (Java 21 is fully supported).
π§ Tech Stack Prerequisitesβ
- Java 17+ (Java 21 fully supported)
- Maven 3.8+ or Gradle 7+
π Two Ways to Set Up QABaseβ
There are two ways to integrate QABase into your project:
- Using the QABase Parent POM (recommended for quickest start)
- Using QABase as a BOM (more flexible; you configure plugins yourself)
1) Using the QABase Parent POM β β
When you use the parent POM, you inherit:
- Dependency management for QABase modules
- Pre-configured plugins (JUnit 5, Surefire/Failsafe)
- Allure report setup out of the box
This is the easiest way to get started.
<parent>
<groupId>io.github.toobprojects</groupId>
<artifactId>qabase-framework</artifactId>
<version>2.2.0</version>
</parent>
<dependencies>
<!-- Core (JUnit 5 + Allure Reports) -->
<dependency>
<groupId>io.github.toobprojects</groupId>
<artifactId>qabase-core</artifactId>
</dependency>
<!-- Add REST and/or WebUI modules as needed -->
<dependency>
<groupId>io.github.toobprojects</groupId>
<artifactId>qabase-rest</artifactId>
</dependency>
<dependency>
<groupId>io.github.toobprojects</groupId>
<artifactId>qabase-webui</artifactId>
</dependency>
</dependencies>
The parent provides sensible defaults. You can still override plugin versions and settings in your project if needed.
2) Using QABase as a BOM β‘β
If you prefer flexibility, import QABase as a Bill of Materials (BOM). With this approach, you must configure plugins (e.g., Surefire, Allure) yourself.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.toobprojects</groupId>
<artifactId>qabase-framework</artifactId>
<version>2.2.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.toobprojects</groupId>
<artifactId>qabase-core</artifactId>
</dependency>
<dependency>
<groupId>io.github.toobprojects</groupId>
<artifactId>qabase-rest</artifactId>
</dependency>
<dependency>
<groupId>io.github.toobprojects</groupId>
<artifactId>qabase-webui</artifactId>
</dependency>
</dependencies>
βοΈ Example: Adding Allure Reports Manually (BOM setup)β
If youβre using the BOM and want Allure reports, add the following to your pom.xml:
<build>
<plugins>
<!-- Surefire: run unit tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.2.5</version>
<configuration>
<useModulePath>false</useModulePath>
</configuration>
</plugin>
<!-- Allure: generate test results -->
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.12.0</version>
</plugin>
</plugins>
</build>
After running tests (mvn clean test), an allure-results/ folder will appear. To generate and view the report:
mvn allure:serve
π¦ Gradle Setupβ
If you are using Gradle Groovy DSL (build.gradle):
dependencies {
// Core (JUnit 5 + Allure Reports)
testImplementation 'io.github.toobprojects:qabase-core:2.2.0'
// REST (REST Assured utilities)
testImplementation 'io.github.toobprojects:qabase-rest:2.2.0'
// WebUI (Playwright utilities, optional)
testImplementation 'io.github.toobprojects:qabase-webui:2.2.0'
}
If you are using Gradle Kotlin DSL (build.gradle.kts):
dependencies {
// Core (JUnit 5 + Allure Reports)
testImplementation("io.github.toobprojects:qabase-core:2.2.0")
// REST (REST Assured utilities)
testImplementation("io.github.toobprojects:qabase-rest:2.2.0")
// WebUI (Playwright utilities, optional)
testImplementation("io.github.toobprojects:qabase-webui:2.2.0")
}
β Verify Installationβ
- Run
mvn clean test(Maven) or./gradlew test(Gradle). - Confirm tests run successfully with JUnit 5.
- Check that an
allure-results/folder is generated after test execution.
π Notesβ
- Parent POM = quickest path; BOM = maximum flexibility.
- Java 17+ required (Java 21 recommended).
- QABase 2.2.0 keeps setup lean while giving you a current foundation for REST, WebUI, and reporting.
- Add only the modules you need:
qabase-core: Base utilities, JUnit 5, Allure integrationqabase-rest: REST Assured helpers for API testingqabase-webui: Playwright utilities for UI automation
- All modules are hosted on Maven Central.