Home | RU | EN

Dependencies for Test Automation (Java)

A curated list of libraries used for UI and API tests.

Dependency Purpose Link
JUnit 5 (junit-jupiter) Main testing framework for writing and running tests. JUnit 5
REST Assured REST API testing (HTTP requests and response assertions). REST Assured
JSON Schema Validator Validate JSON responses against a JSON Schema contract. JSON Schema Validator
Selenide UI testing wrapper over Selenium with waits and a convenient API. Selenide
Jackson Databind JSON ↔ Java object mapping. Jackson Databind
rgxgen Generate strings from regex. Can be used for generating random data for DTO class fields. rgxgen
Generex Generate strings from regex (alternative to rgxgen). Generex
Lombok Auto-generates getters, setters, constructors, builders. Must have! (Otherwise you'll have to write a lot of boilerplate code). Lombok
Apache Commons Lang (commons-lang3) Utility library: strings, numbers, objects, collections, etc. Convenient for generating random data. Apache Commons Lang
AssertJ Convenient assertions. Also needed for creating soft assertions (assertThat). AssertJ
SLF4J Simple Simple logging implementation for console output. Not required to add. Just to avoid the annoying message about missing SLF4J provider. SLF4J Simple
AspectJ Weaver Support for @Step and other aspects (for Allure). AspectJ Weaver

Pay attention
Allure JUnit5 Allure integration with JUnit 5 (collects test statuses). Allure JUnit5
Allure REST Assured API request/response logging in Allure. Allure REST Assured
Allure Selenide Screenshots and Selenide action steps in Allure. Allure Selenide
Allure AssertJ Pretty rendering of AssertJ assertions in the report. Allure AssertJ