Для начинающих тестировщиков и тех, кто ранее не работал с данной темой — хорошая возможность ознакомиться с основами.
Для тех, кто уже знаком с темой — возможность закрепить знания.
Предусловия:
1. Зарегистрироваться на сайте gorest.co.in и получить токен доступа.
2. Создать пользователя с помощью запроса:
POST https://gorest.co.in/public/v2/users
В теле запроса указать имя, пол, статус и уникальный email.
3. Получить значение id созданного пользователя, например: id = 123345.
Задания:
▪️1. Взаимозаменяемость
Выполнить GET-запрос, передав идентификатор пользователя (id) разными способами:
как часть пути (path parameter):
GET https://gorest.co.in/public/v2/users/123345
как path variable:
GET https://gorest.co.in/public/v2/users/:id, где id = 123345
как query-параметр:
GET https://gorest.co.in/public/v2/users?id=123345
🔍Обратить внимание: через query-параметр сервер возвращает другой ответ. Сравнить результаты.
Вывод:
Взаимозаменяемость — это способность API обрабатывать параметры, переданные в разных частях запроса (в пути URL, или через path / query на вкладке params в Postman), возвращая одинаковый результат (поддерживается не всеми API).
▪️2. Версионирование
Выполнить GET-запрос с разными версиями API:
API Version 2:
GET https://gorest.co.in/public/v2/users/123345
API Version 1:
GET https://gorest.co.in/public/v1/users/123345
API Version 0 (устаревший путь):
GET https://gorest.co.in/public-api/users/123345
🔍 Обратить внимание на статус-код и тело ответа от сервера. Проанализировать результаты и сравнить с документацией на сайте gorest.co.in.
Вывод:
Версионирование API — это способ управлять изменениями в API без нарушения работы существующих клиентов. Оно позволяет развивать API, внедрять несовместимые изменения, не ломая текущие интеграции. При переходе на новую версию важно прозрачно обозначить устаревание предыдущей и дать время на миграцию.
▪️3. Идемпотентность
Выполнить один и тот же GET-запрос три раза подряд:
GET https://gorest.co.in/public/v2/users/123345
🔍Обратить внимание, что многократное выполнение одного и того же запроса не изменяет состояние ресурса. Ответ сервера должен быть одинаковым.
Вывод:
Идемпотентность — это свойство API (точнее, HTTP-методов как GET, PUT, DELETE), при котором многократное выполнение одного и того же запроса приводит к одному и тому же результату, независимо от количества повторов (точнее, повторные вызовы не изменяют состояние ресурса и возвращают одинаковый результат).
Задания предназначены для ознакомления и закрепления теории на практике.
Если остались вопросы — пишите. Также можно прислать отчёт в Google Docs с описанием шагов и скриншотами: @nadin_qa