Найти тему

Реализуем тестирование Rest API в Intellij IDEA JAVA.

Оглавление

В прошлой статье мы разобрали как добавить SQL в наши тесты. Сегодня разберём, как добавить API в автоматизированное тестирование!

Из статьи про окружение, мы знаем какие зависимости нам нужны для API, это:

-2

GET/ Post/ PUT

Для примера нам подойдёт бесплатный источник с API запросами.

Давайте разберёмся с самой структурой запроса, которую нужно прописывать в JAVA.

given()
.filter(new AllureRestAssured())
.log().all()
.header("Authorization", "Bearer ")
.contentType(ContentType.JSON)
.when()
.get("https://reqres.in/api/users?page=2")
.prettyPeek()
.then()
.statusCode(200);

Это стандартный набора запроса на JAVA

  • Чтобы запросы учитывались в отчёте Allure, добавим .filter(new AllureRestAssured()).
  • Для вывода запроса и его тела в консоль используем .log().all().
  • .header("Authorization", "Bearer ") может потребоваться не для всех запросов, например, если ваш запрос должен проходить только с токеном авторизации.
  • .contentType(ContentType.JSON) — обязательная функция, которая указывает формат отправки тела запроса. Для GET-запроса, как в данном случае, она не нужна.
  • .get("https://reqres.in/api/users?page=2") — это сам запрос, где мы выбираем метод (GET, POST, PUT и т. д.).
  • .prettyPeek() используется для вывода тела ответа в консоль.
  • .statusCode(200); — это небольшая проверка статуса ответа.

Использование GET запроса

-3

Это вернёт нам:

-4

Однако этот тест пока не выполняет никаких функций, так как мы не проверяем ответ и не извлекаем из него данные. Давайте исправим это!

  • 1 вариант, он не совсем удобный, так как из тела ответа можно взять только один объект.
-5

Взяли значение page и назначили в перемённую value. Сравниваем её с ожидаемым значением, пишет текст ошибки если не совпадают значения.

  • 2 вариант, советую его использовать, так как мы берём всё тело ответа, а не опредёлённое значение.
-6

Всё также сравниваем значение page и сравниваем с ожидаемым результатом.

Использование POST запроса

Используем запрос добавления пользователя:

-7

Пишем запрос:

-8

В ответе проверяем что приходит id нашей записи, то есть что не равняется null.

Отчёт по тестированию API

Из статьи знаем как вывести отчёт.

allure generate target/allure-results --clean
-9

Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний!Также если вам нужна индивидуальная консультация, менторство и помощь в создании проекта пишите в ТГ канал!

Обучение тестированию