Создание метода Postman
Тестирование при помощи API возможно только при наличии самого API и документации от разработчика. Это позволит точно понимать функции продукта без противостояния инженера QA и программиста на вечную тему: «Это баг!» & «Нет, это фича!».
Рассмотрим ручное тестирование по четырем основным запросам:
- POST — создание ресурса на сервисе, то есть отправку данных на сервер.
- GET — получение ресурса с сайта.
- PUT — обновление данных на сервере.
- DELETE — удаление ресурса с сайта.
Речь пойдет об архитектуре REST, часто использующейся для взаимодействия сайтов и приложений. При этом активно применяется JSON (JavaScript Object Notation) — текстовый формат обмена данными на языке JavaScript.
Практиковать составление запросов можно, используя ресурс reqres.in. Здесь представлены разные Request и ожидаемые результаты (Response). Это и будет тренировочным API с документацией.
При работе с Postman стоит знать о статусах и классах состояний сервера:
- 1xx — информационные коды. Они отвечают за процесс передачи данных. Это временные коды, они информируют о том, что запрос принят и обработка будет продолжаться.
- 2xx — успешная обработка. Запрос получен и успешно обработан сервером.
- 3xx — перенаправление (редирект). Эти ответы сервера гласят, что нужно предпринять дальнейшие действия для выполнения запроса. Например, сделать запрос по другому адресу.
- 4xx — ошибка пользователя. Это значит, что запрос не может быть выполнен по его вине.
- 5xx — ошибка сервера. Эти коды возникают из-за ошибок на стороне сервера. В этом случае пользователь всё сделал правильно, но сервер не может выполнить запрос. Для кодов этого класса сервер обязательно показывает сообщение, в котором указано, почему он не может обработать запрос.
Классы состояний сервера
Рассмотрим статус 200 ОК, который информирует об успешности выполнения операции, то есть пользователь кода получает ожидаемый результат — страницу с запрашиваемой информацией.
Примеры запросов в Postman
- После запуска в Postman создай папку с коллекцией запросов. Для этого нужно во вкладке Collections нажать на New Collection.
- Создаем запрос нажатием на Add requests.
POST
- Рассмотрим регистрацию пользователя, поэтому указываем соответствующее название и нажимаем на Save to [Collections name].
- Выбираем POST.
- Указываем url тестируемого сайта.
- Прописываем название соответствующего API, в данном случае — api/register.
- Во вкладке Body выбираем raw.
- Далее выбираем формат текста JSON.
- Нажатием на Send отправляем данные.
В соответствующем поле видим ожидаемый результат, указанный в документации, и статус 200 ОК.
GET
- Выполним запрос на получение данных о созданном пользователе, выбираем GET.
- Указываем ссылку на API и после отправления смотрим на полученный результат, соответствующий ожидаемому.
PUT
- Попробуем обновить данные пользователя, для этого создаём update_user.
- Выбираем PUT.
- Указываем ссылку с URL и API, открываем окно для кода.
- Отправляем новые данные.
В результате указана обновленная информация и время, когда были внесены изменения. Дополнительно успешность операции подтверждает ответ 200 от сервера.
DELETE
- Создаём запрос на удаление пользователя.
- Выбираем DELETE.
- Указываем полную ссылку на страницу пользователя и отправляем.
Получаем от сервера в ответ статус 204 No Content, информирующий об успешности запроса, но без содержимого, то есть данные были успешно удалены.
Готово!
Полную версию статьи ты можешь найти на ProgLib