Инструменты Java Advanced: REST Assured - qa-guru/knowledge-base GitHub Wiki

REST Assured

Cайт | Репозиторий GitHub

REST Assured — один из самых популярных инструментов для тестирования REST API. Представлен в виде библиотеки Java. Широко используется для тестирования веб-приложений на базе XML и JSON. Полностью поддерживает работу с методами GET, PUT, PATCH, POST и DELETE.

REST Assured относительно простая библиотека с интуитивно понятным синтаксисом. Из-за большой популярности REST Assured в Сети можно найти большое количество подробных примеров кода и инструкций. Официальна документация также представлена в хорошем качестве и обновляется по мере выхода новых версий.

Подключение

REST Assured подключается к проекту как все библиотеки. В файле build.gradle необходимо добавить зависимость:

dependencies {
    testImplementation(
        "io.rest-assured:rest-assured:5.3.0"
    )
} 

Актуальную версию можно посмотреть на сайте или в документации

Как это работает

REST Assured работает по принципу Given-When-Then:

  • given — определяет, что будет отправлено в запросе;
  • when — с каким методом будет передано и к какому эндпоинту;
  • then — как будет оцениваться полученный ответ.

С помощью этих ключевых слов формируется запрос. Пример запроса с помощью REST Assured может выглядеть так:

public class RestTests {
    @Test
    void checkTotal() {
        given()
                .when()
                .get("https://selenoid.autotests.cloud/status")
                .then()
                .body("total", is(20));
    }
}

Про методы API

К веб-ресурсу надо обращаться не понятном ему языке. Для вес-сайтов на базе REST API используются специальные методы. С их помощью можно отправлять данные, получать, удалять и изменять:

  • GET — метод для чтения данных, информация просто передаётся с сервера и никак не изменяется;
  • POST — создание и регистрация новых записей;
  • PUT — изменение и обновление данных;
  • DELETE — удаление данных.