В прошлой статье мы разобрали как добавить SQL в наши тесты. Сегодня разберём, как добавить API в автоматизированное тестирование!
Из статьи про окружение, мы знаем какие зависимости нам нужны для API, это:
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 запроса
Это вернёт нам:
Однако этот тест пока не выполняет никаких функций, так как мы не проверяем ответ и не извлекаем из него данные. Давайте исправим это!
- 1 вариант, он не совсем удобный, так как из тела ответа можно взять только один объект.
Взяли значение page и назначили в перемённую value. Сравниваем её с ожидаемым значением, пишет текст ошибки если не совпадают значения.
- 2 вариант, советую его использовать, так как мы берём всё тело ответа, а не опредёлённое значение.
Всё также сравниваем значение page и сравниваем с ожидаемым результатом.
Использование POST запроса
Используем запрос добавления пользователя:
Пишем запрос:
В ответе проверяем что приходит id нашей записи, то есть что не равняется null.
Отчёт по тестированию API
Из статьи знаем как вывести отчёт.
allure generate target/allure-results --clean
Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний!Также если вам нужна индивидуальная консультация, менторство и помощь в создании проекта пишите в ТГ канал!