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 |