Для чего нужен Postman
00:00:00Почему Postman важен для работы с API Postman - это мощный инструмент для отправки, получения, тестирования и обработки запросов к API. Он входит в основной набор инструментов тестировщиков, серверных и интерфейсных разработчиков, а также аналитиков, которым необходимо взаимодействовать с API без клиентского приложения. В этом пошаговом руководстве описывается создание запросов, коллекций, переменных, автоматизация с помощью Runner, генератора тестов и mocks, а также все изолированные среды и файлы, доступные на GitHub.
Установите настольный компьютер или воспользуйтесь Веб-сайтом, затем зарегистрируйтесь Postman выпускается как в виде веб-приложений, так и в виде настольных приложений со схожей функциональностью; для удобства здесь используется настольное приложение. Регистрация необязательна, но рекомендуется, поскольку она открывает возможности, которые остаются бесплатными. После установки вы можете начать с создания или импорта запросов.
Создайте новый HTTP-запрос Используйте New > HTTP request, чтобы открыть пустой запрос, который по умолчанию имеет значение GET с пустыми заголовками и телом. При необходимости вручную задайте метод, URL, заголовки и полезную нагрузку. В реальных проектах вы часто будете полагаться на существующие запросы, но понимание простой настройки проясняет, что делает каждая часть.
Импорт Готовых коллекций Общедоступные коллекции представляют собой доступную для запуска документацию, содержащую список параметров, полей и типов. Используйте функцию “Открыть в Postman” на сайте для импорта в выбранную рабочую область и получения полного набора запросов. Отправьте любой запрос, чтобы сразу увидеть ответы в формате JSON и начать изучать API.
Извлекать запросы из Swagger/OpenAPI Swagger обычно предоставляет ссылку, представляющую его операции в виде коллекции Postman. Вставьте эту ссылку в Postman's Import, и в вашем рабочем пространстве появятся все задокументированные конечные точки. Это позволяет избежать повторного создания запросов из документации вручную.
Получите один запрос с помощью cURL Если требуется только одна операция, выполните ее в Swagger's Try it и скопируйте показанный cURL. Импортируйте cURL в Postman для автоматического заполнения метода, URL, заголовков и текста. Тот же подход работает и в браузере: скопируйте cURL из DevTools и импортируйте для быстрого и верного запроса.
Перехватывайте трафик браузера с помощью перехватчика Превратите Postman в анализатор трафика, используя расширение для браузера вместо настройки прокси-сервера. Запустите capture, перезагрузите страницу и просмотрите поток запросов в Postman с указанием метода, URL и времени. Откройте любой захваченный элемент, чтобы просмотреть детали, и сохраните его в коллекции для повторного использования; захват работает во всех поддерживаемых браузерах и даже на мобильных устройствах.
Создайте URL-адрес и параметры запроса Разделите URL-адрес на базовый и конечный, например /user, и вставьте их соответствующим образом. Добавьте параметры запроса через Params; Postman добавит их после знака вопроса. Отправка запроса с неполным указанием может привести к появлению 415 неподдерживаемых типов носителей, что указывает на отсутствие или неправильные заголовки.
Правильно выполнять авторизацию Вкладка Authorization поддерживает такие схемы, как Basic, токены на предъявителя, потоки OAuth и другие. Значения, настроенные там, автоматически отображаются в заголовках, а отключение auth удаляет их. Авторизацию также можно задать непосредственно в заголовках, но специальная вкладка упрощает рабочий процесс.
Установите основные заголовки Откройте скрытые автоматически сгенерированные заголовки, чтобы увидеть, что Postman добавляет по умолчанию. Явно укажите тип содержимого, например application/json, чтобы указать серверу, как анализировать полезную нагрузку и устранять ошибки 415. Заголовки содержат важные метаданные, которые определяют, как обрабатываются запросы.
Выберите правильный тип телосложения Body поддерживает none, form-data, x-www-form-urlencoded, GraphQL, загрузку двоичных файлов и содержимое raw. Raw может быть обычным текстом, JavaScript, JSON, HTML или XML с подсветкой синтаксиса. JSON наиболее распространен в REST; выберите формат, который соответствует ожиданиям API.
Безопасное редактирование JSON с помощью Beautify Вставьте большой однострочный JSON-файл и используйте Beautify, чтобы отформатировать его в удобочитаемую структуру. После сохранения и повторного открытия вы не сможете автоматически вернуть формат с красивым шрифтом. Чистый формат JSON уменьшает количество ошибок и упрощает проверку полей.
Отправьте сообщение, создайте пользователя и подтвердите Заполните такие поля, как id, имя пользователя, отчество, адрес электронной почты, пароль и статус, а затем отправьте сообщение. Песочница может выдать 200 сообщений с нечетным числом, поэтому подтвердите создание с помощью GET /user/{имя пользователя}. Оранжевая точка на вкладке указывает на несохраненные изменения — нажмите Ctrl+S и сохраните запрос в коллекции.
Разберитесь с панелью ответов Просмотрите текст ответа в его обнаруженном формате и, при необходимости, используйте предварительный просмотр для визуализации. Просмотрите заголовки ответа, код состояния, размер, время и, при необходимости, сохраните полезную информацию в качестве примера. Очистите панель или сохраните в файл, чтобы поддерживать порядок в рабочем пространстве между запусками.
Автоматизация с помощью предварительных запросов и тестовых сценариев Напишите JavaScript в предварительном запросе, чтобы подготовить данные перед отправкой, и в тестах для подтверждения после получения. Postman предоставляет API-интерфейсы pm.* и встроенную платформу тестирования для переменных, утверждений и логики потока. Настройки для каждого запроса управляют версией HTTP, сертификатами и другими расширенными функциями; Предварительный запрос и тесты теперь находятся в одной объединенной области.
Сгенерировать код из рабочего запроса Как только запрос заработает, нажмите "Код", чтобы экспортировать его на многие языки, и выполните cURL. Вставьте фрагмент в свое приложение, чтобы повторно использовать точный метод, заголовки и текст запроса. Это избавит от необходимости вручную переводить детали запроса в код.
Интерактивное тестирование веб-сокетов WebSockets поддерживают постоянный туннель, поэтому клиент и сервер могут обмениваться сообщениями без повторных запросов. Подключайтесь к эхо-серверу, отправляйте сообщения и просматривайте их в журнале с подробной информацией о каждом кадре. При необходимости измените параметры, заголовки и настройки; сначала отключитесь, чтобы отредактировать параметры на уровне подключения.
Используйте примеры для документации и заглушек Примеры, прикрепленные к запросу, демонстрируют входные данные и ожидаемые выходные данные для различных случаев. Они служат живой документацией и иллюстрируют как успешные результаты, так и ошибки. Те же примеры, которые будут приведены ниже, позволяют макетным серверам отвечать с помощью предопределенных сообщений.
Переключение сред с переменными Определите такие среды, как производственная и тестовая, каждая из которых содержит одинаковые имена переменных с разными значениями, такими как базовый URL. Ссылайтесь на переменные, используя {{имя}} в запросах, затем переключайте среды для перенацеливания всех вызовов. Выбор среды активирует разрешение переменной и отображает замененное значение при наведении курсора мыши.
Знать области действия переменных и их приоритет Postman поддерживает глобальные переменные, переменные среды, переменные коллекции, локальные переменные (запрос) и переменные файла данных. Переменные могут использоваться в параметрах, заголовках, текстах и скриптах; переменные коллекции видны только в пределах их коллекции, а локальные переменные - только в запросе. Приоритет от самого низкого к самому высокому - глобальный, среда, коллекция, файл данных, затем локальный.
Структурируйте работу с рабочими пространствами и коллекциями Рабочие области - это изолированные контексты, похожие на отдельные проекты. Внутри рабочей области коллекции группируют связанные запросы с папками для функциональных областей и вложенной структурой, где это необходимо. Экспорт выполняется на уровне коллекции, а запросы могут содержать примеры для наглядности.
Используйте фрагменты и консоль Используйте фрагменты кода, чтобы быстро получать или устанавливать переменные среды и глобальные переменные без запоминания API. Регистрируйте значения и события в консоли Postman, чтобы точно знать, что было отправлено и что получено. Консоль отображает информацию о запросах и ответах и может быть очищена, чтобы сосредоточить внимание на отладке.
Быстро пишите базовые тесты Вставьте утверждения, основанные на фрагментах данных, такие как “код состояния - 200”, и измените ожидаемые значения в соответствии с вашим сценарием. Тесты отображаются в области тестов и сообщают о выполнении/неудаче сразу после каждого запуска. Даже простые проверки ускоряют проверку при повторных запросах.
Автоматическое создание тестов с помощью встроенного инструмента В меню "Коллекция" откройте генератор тестов, чтобы создать проверки для нескольких запросов одновременно. Он предлагает такие утверждения, как код состояния и тип содержимого, и может быть ориентирован на такие случаи, как 404. Сохраните сгенерированные тесты в запросах, затем просмотрите и уточните их, чтобы убедиться, что они имеют смысл.
Запускайте пакеты с помощью Collection Runner Откройте Runner для коллекции или папки, чтобы выполнить несколько запросов локально или по облачному расписанию. Настройте итерации, задержки для каждого запроса, среду и файлы данных CSV/JSON для значений переменных. Расширенные опции позволяют сохранять ответы, останавливаться при первом сбое, изолировать запуски от файлов cookie и сохранять переменные изменения; результаты включают время, статус каждой итерации и могут быть экспортированы.
Потоки, управляемые данными, и имитационные серверы Используйте сценарии с файлом данных JSON, например, создайте пользователя, а затем удалите его с именами пользователей, которые меняются на разных итерациях, ожидая 200, а затем 404. Массовый запуск однажды привел к созданию 99 999 пользователей и вызвал массовые электронные письма, из-за которых производственная рассылка была приостановлена примерно на 40 минут, что показывает силу и риск крупных запусков. Делитесь результатами работы, экспортируя коллекции, и создавайте фиктивные серверы, которые отвечают сохраненными примерами, переключая базовый URL-адрес на макетную среду. Просмотрите журналы макетов, чтобы узнать, какой пример ответил, и не забудьте сохранить изменения, чтобы они вступили в силу.