Получите бесплатно 4 курса для лёгкого старта работы в IT
Получить бесплатно
Главная БлогКак тестировать API, или Postman для чайников
Как тестировать API, или Postman для чайников

Как тестировать API, или Postman для чайников

Дата публикации: 06.02.2024
489 172
Время чтения: 15 минут
Дата обновления: 16.11.2024
Автор статьи:
Test IT
В статье рассказывается:

Postman — это популярный инструмент для тестирования API. Postman предлагает множество функций для удобного тестирования API, включая возможность хранения и организации коллекций запросов, автоматизацию и мониторинг запросов, генерацию документации API и другие возможности.

В статье рассказывается:

  1. Что это вообще такое?
  2. Как тестировать API?
  3. Работа с запросами и отправка запросов в Postman
  4. Параметризация запросов, переменные окружения
  5. Создание тестов в Postman
  6. Запуск коллекций тестов в Postman
  7. Заключение
  8. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.
    Бесплатно от Geekbrains

Привет! Меня зовут Игорь Гросс, я руководитель проектов в Test IT — это такая система управления тестированием. В этом посте я расскажу об одном интересном инструменте тестировщика — Postman — а также о том, как с его помощью решать распространённый тип задач — тестирование API.

Что это вообще такое?

API — это Application Programming Interface, или программный интерфейс приложения, с помощью которого одна программа может взаимодействовать с другой. API позволяет слать информацию напрямую из одной программы в другую, минуя интерфейс взаимодействия с пользователем.

Как это работает? Представьте, что вы сидите в ресторане, выбираете блюдо в меню. Подходит официант, и вы делaаете заказ. Официант передаёт ваш заказ на кухню, там происходит магия, и через некоторое время перед вами появляется готовое блюдо. API работает по такому же принципу — принимает ваш запрос, передаёт информацию системе, обрабатывает её и возвращает ответ.

Какие бывают? API может быть внутренним, частным — когда программные компоненты связаны между собой и используются внутри системы. А может быть открытым, публичным — в таком случае он позволяет внешним пользователям или другим программам получать информацию, которую можно интегрировать в свои приложения.

Узнай, какие ИТ - профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

pdf иконка

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

pdf 3,7mb
doc 1,7mb
Уже скачали 31928 pdf иконка

Чтобы программам общаться между собой, их API нужно построить по единому стандарту. Одним из них является REST — стандарт архитектуры взаимодействия приложений и сайтов, использующий протокол HTTP. Особенность REST в том, что сервер не запоминает состояние пользователя между запросами. Иными словами, идентификация пользователя (авторизационный токен) и все параметры выполнения операции передаются в каждом запросе. Этот подход настолько прост и удобен, что почти вытеснил все другие.

Как тестировать API?

Тестирование API проводят, основываясь на бизнес-логике программного продукта. Тестирование API относится к интеграционному тестированию, а значит в ходе него можно отловить ошибки взаимодействия между модулями системы или между системами. Для тестирования используют специальные инструменты, где можно отправить входные данные в запросе и проверить точность выходных данных. Одним из таких инструментов как раз и является Postman. Вот что он умеет:

  • Составлять и отправлять запросы;
  • Сохранять запросы в папки и коллекции;
  • Параметризовать запросы;
  • Добавлять к вызову API контрольные точки;
  • Создавать разные окружения для одних и тех же запросов;
  • Запускать коллекции с помощью Collection Runner и использовать их как автоматизированные тесты.

Чтобы рассказать, как использовать Postman, напишем несколько тестов на базе реального проекта, используя для этого API системы управления тестированием Test IT.

Работа с запросами и отправка запросов в Postman

У Postman есть графический интерфейс, что выгодно отличает его от ряда других инструментов тестирования. Чтобы создать запрос, нужно нажать на кнопку New и выбрать пункт Request.

Работа с запросами и отправка запросов в Postman
Работа с запросами и отправка запросов в Postman

Запросы Postman хранятся в коллекциях, поэтому нужно не только придумать название и описание запроса, но и создать коллекцию, где он будет храниться.

Создадим запрос на получение проектов. Назовём его соответственно: /api/v2/projects 

Работа с запросами и отправка запросов в Postman
Работа с запросами и отправка запросов в Postman

По умолчанию открывается форма создания GET-запроса:

Работа с запросами и отправка запросов в Postman
Работа с запросами и отправка запросов в Postman

Для удобства мы указали на иллюстрации выше пункты, соответствующие порядку действий:

1. Выбираем тип запроса. Postman предлагает внушительный список, нам нужен GET.

2. Указываем URL запроса. Первая часть ссылки должна содержать адрес сервера, где развёрнута наша TMC. Мы используем публичное API Test IT, а при составлении запросов опираемся на Swagger-документацию. В нашем случае полная ссылка будет выглядеть так: https://testit.geekbrains.ru/api/v2/projects.

3. На вкладке параметров указываем ключи и значения запроса. Мы хотим получить только удалённые проекты, и API Test IT предоставляет нам такую возможность. Укажем в параметрах isDeleted=true.

Работа с запросами и отправка запросов в Postman
Работа с запросами и отправка запросов в Postman

4. Переходим на вкладку Authorization, указываем данные для идентификации пользователя. Postman поддерживает множество типов авторизации, параметры для каждого из них отличаются. Используем авторизацию по API Key, полученному из личного кабинета в Test IT.

Работа с запросами и отправка запросов в Postman
Работа с запросами и отправка запросов в Postman

Мы заполнили все необходимые данные. Теперь выполним запрос, нажав кнопку Send.

Работа с запросами и отправка запросов в Postman
Работа с запросами и отправка запросов в Postman

Видим, что запрос прошёл успешно: код 200, тело ответа, время ответа и сколько занимают полученные данные. Правда, в нашем случае тело ответа будет пустое, поскольку удалённых проектов у нас нет. Советуем в ключ isDeleted ставить значение true.

Отправляемый запрос или ответ мы можем сохранить с помощью меню справа:

Работа с запросами и отправка запросов в Postman
Работа с запросами и отправка запросов в Postman

Параметризация запросов, переменные окружения

У нас есть коллекция запросов, и мы хотим использовать их на разных окружениях. Допустим, выполнять их локально, на тестовом стенде и на проде. Посмотрим, что предлагает Postman, и как это работает.

В меню создания выбираем Environment

Параметризация запросов, переменные окружения
Параметризация запросов, переменные окружения

В ранее созданном запросе выделим в переменные два параметра — URL стенда, к которому мы обращаемся, и токен для авторизации. Назовём наше окружение Test Environment. Создаём две переменные url и token и укажем их значения. На скриншоте ниже их значения скрыты из соображений безопасности.

Параметризация запросов, переменные окружения
Параметризация запросов, переменные окружения

Сохраняем созданное окружение кнопкой Add. Мы всегда сможем вернуться и отредактировать окружение с помощью кнопки Manage Environments (шестерёнка в правом верхнем углу основного экрана).

Устанавливаем Test Environment в качестве текущего окружения: выбираем из выпадающего списка и вносим параметры в запрос. Переменные указываются в двух фигурных скобках. Postman подсказывает названия переменных окружения при вводе.

Параметризация запросов, переменные окружения
Параметризация запросов, переменные окружения

После того как мы использовали параметры из переменных окружения, повторим запрос, чтобы проверить, что нигде не ошиблись.

Параметризация запросов, переменные окружения
Параметризация запросов, переменные окружения

Запрос вновь прошёл успешно, значит, всё сделали правильно.

Теперь создадим другое окружение, с другими URL и token, и поменяем их с помощью переключения в выпадающем списке. Протестируем продукт на двух разных окружениях, используя одну коллекцию запросов.

Только до 25.11
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300

Создание тестов в Postman

Мы познакомились с отправкой и параметризацией запросов, а когда же приступим к тестированию? Мы на пороге написания первого теста в Postman.

Уже в знакомом нам запросе находим вкладку Tests и переходим в неё.

Создание тестов в Postman
Создание тестов в Postman

Открывается окошко для написания кода на JavaScript. Postman предлагает множество готовых сниппетов, которые можно применить для тестирования API. Здесь можно валидировать коды и содержание ответов, парсить и сохранять значения в переменные окружения или глобальные переменные, проверять их соответствие заданным значениям и т.д. Подробнее о написании тестовых скриптов в Postman можно прочитать в документации или статье на Хабре.

Остановимся на создании простого тестового скрипта: проверим, что код ответа 200. Для этого используем готовый сниппет.

Создание тестов в Postman
Создание тестов в Postman

Postman автоматически добавил код на JS, который проверяет, что код ответа равен 200.

Помимо этого, напишем проверку. В списке, который мы получили в данном запросе, отсутствуют проекты с параметром isDeleted = false. Надо парсить ответ, в цикле проходить все объекты полученного массива и проверять, что isDeleted = true.

Вот какой код теста получился:

pm.test("All projects is deleted", function () {
    var jsonData = JSON.parse(responseBody);
    for (var i = 0; i < jsonData.length; i++) {
        pm.expect(jsonData[i].isDeleted).to.eql(false)
    }
});

Мы написали в коде false, а не true, потому что у нас есть только созданные проекты, а удалённых нет. Если оставить true, тест будет провален. Если поменять значение на false — тест будет пройден. Отправим запрос и проверим, что тесты прошли. Результаты тестов и их названия отображаются на вкладке Test Results.

Создание тестов в Postman
Создание тестов в Postman

В тренировочном запросе два теста. Чтобы создать ещё один GET-запрос, данные для авторизации и проверку на код ответа 200 нужно продублировать. Чтобы сэкономить время, внесём эти данные на уровень всей коллекции.

Переходим в редактирование коллекции.

Создание тестов в Postman
Создание тестов в Postman

Видим уже знакомый интерфейс для настройки авторизации, переносим сюда данные из теста.

Создание тестов в Postman
Создание тестов в Postman

А на вкладку Tests перемещаем проверку, что код ответа равен 200.

Создание тестов в Postman
Создание тестов в Postman

В запросе убираем продублированную проверку, а на вкладке авторизации укажем «Inherit auth from parent». Сохраняем запрос и отправляем.

Создание тестов в Postman
Создание тестов в Postman

Запрос прошёл: с авторизацией всё в порядке, и у нас отображаются 2 теста, хотя один из них мы удалили. Мы вынесли авторизацию и один тест на уровень всей коллекции, и теперь авторизация и тест на код ответа 200 будут применяться ко всем тестам внутри этой коллекции.

Коллекции можно экспортировать, чтобы делиться ими с командой. Если вы авторизуетесь в Postman, то сможете хранить коллекцию в облаке и иметь доступ с разных устройств.

Запуск коллекций тестов в Postman

В Postman есть встроенный компонент Collection Runner, с его помощью можно запустить наполненную запросами и тестами коллекцию.

Запуск коллекций тестов в Postman
Создание тестов в Postman

Нажимаем пиктограмму треугольника на коллекции. Открывается дополнительное окно, в котором выбираем Run. В открывшемся окне выбираем окружение, количество итераций в запуске и задержку между отправкой запросов. Также здесь стоит настроить логирование запросов, хранение переменных и cookies.

Запуск коллекций тестов в Postman
Создание тестов в Postman

Укажем значение Iterations равным 10 и пройдём наши тесты.

Запуск коллекций тестов в Postman
Создание тестов в Postman

Далее можно посмотреть на результаты тестов по каждому запросу, экспортировать результаты по кнопке Export Results либо пролистать их в кратком виде по кнопке Run Summary.

Запуск коллекций тестов в Postman
Создание тестов в Postman

Заключение

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

  • Составили и отправили запросы;
  • Задали параметры в запросах;
  • Создали и переключались между окружениями;
  • Написали базовые тесты;
  • Создали и отредактировала коллекции;
  • Выполнили запуск тестов.
Дарим скидку от 60%
на обучение «Инженер-программист» до 24 ноября
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку

Это только малая часть полезных и интересных функций Postman, при помощи которых можно тестировать API. Понравилась статья — поделитесь с коллегами 😉

Автор статьи:
Test IT
Оцените статью:
4.57
Добавить комментарий

Сортировать:
По дате публикации
По рейтингу
Читайте также
prev
next
Бесплатные вебинары:
prev
next
Как работает дизайн-студия на примере одного кейса 

Как работает дизайн-студия на примере одного кейса 

Узнать подробнее
Инновационные подходы к обучению информационным технологиям

Инновационные подходы к обучению информационным технологиям

Узнать подробнее
Как стать Python-разработчиком

Как стать Python-разработчиком

Узнать подробнее
Что нужно знать разработчику

Что нужно знать разработчику

Узнать подробнее
Кто такой тестировщик и как им стать

Кто такой тестировщик и как им стать

Узнать подробнее
Чем занимается программист и как им стать

Чем занимается программист и как им стать

Узнать подробнее
Как искусственный интеллект помогает и мешает задачам кибербезопасности

Как искусственный интеллект помогает и мешает задачам кибербезопасности

Узнать подробнее
Бесплатный вебинар про внедрение искусственного интеллекта

Бесплатный вебинар про внедрение искусственного интеллекта

Узнать подробнее
Какие есть профессии в ИТ

Какие есть профессии в ИТ

Узнать подробнее
Смените профессию,
получите новые навыки,
запустите карьеру
Поможем подобрать обучение:
Забрать подарок

Получите подробную стратегию для новичков на 2023 год, как с нуля выйти на доход 200 000 ₽ за 7 месяцев

Подарки от Geekbrains из закрытой базы:
Осталось 17 мест

Поздравляем!
Вы выиграли 4 курса по IT-профессиям.
Дождитесь звонка нашего менеджера для уточнения деталей

Иван Степанин
Иван Степанин печатает ...