Ответ
REST Assured — это Java-библиотека для тестирования REST API. Мой опыт включает:
- Создание и поддержка автоматизированных тестов для эндпоинтов (GET, POST, PUT, DELETE, PATCH).
- Валидацию ответов: проверка статус-кодов, заголовков и тел ответов в форматах JSON/XML с использованием Hamcrest-матчеров.
- Работу с аутентификацией: настройка Basic Auth, OAuth 1/2, токенов.
- Параметризацию тестов через Data Providers (TestNG) для запуска с разными наборами данных.
- Интеграцию с TestNG/JUnit для управления тестами и Allure для построения отчетов.
- Использование JsonPath и XmlPath для навигации и проверки сложных структур данных.
- Настройку логгирования запросов и ответов с помощью фильтров.
Пример теста для проверки GET-запроса:
import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;
@Test
public void verifyGetUserReturnsCorrectData() {
given()
.baseUri("https://api.example.com")
.auth().basic("username", "password")
.when()
.get("/users/{id}", 1)
.then()
.statusCode(200)
.body("id", equalTo(1))
.body("name", equalTo("John Doe"));
}
Почему REST Assured? Библиотека предоставляет DSL, похожий на Gherkin (given/when/then), что делает тесты читаемыми и легко поддерживаемыми.