Postman: полное руководство по использованию и назначению
Представляем вам мощный инструмент для работы с API, который завоевал доверие тестировщиков благодаря своей эффективности и удобству.
Содержание:
Обучение с гарантией трудоустройства: специальность «Веб-разработчик»
Узнать большеСовременный интернет во многом зависит от применения API, и, в целом, бэкенд редко функционирует без программных интерфейсов. Несмотря на все удобства, которые они предоставляют, существует и определённая сложность: для этих интерфейсов необходимо разрабатывать архитектуру и логику, создавать документацию, проводить тестирование и заниматься их масштабированием.
К счастью, существует множество сервисов, которые помогают упростить этот процесс. Одним из таких инструментов является Postman. Хотя его часто рассматривают лишь как средство для тестирования API, на самом деле функционал этой платформы значительно шире.
Постман: что это за инструмент и его предназначение
Postman представляет собой платформу, предназначенную для разработки, тестирования, документирования, публикации и поддержки API. С его помощью можно формировать коллекции запросов к любым API, использовать различные окружения, настраивать мок-серверы, а также писать автоматизированные тесты на языке JavaScript. Кроме того, Postman предоставляет возможность анализа и визуализации результатов запросов.
Программа поддерживает множество архитектур API, включая HTTP, REST, SOAP, GraphQL и WebSockets. Postman активно применяется в таких компаниях, как Twitter, WhatsApp и Imgur. Благодаря интуитивно понятному графическому интерфейсу, даже начинающий пользователь сможет легко освоить эту платформу.
Postman доступен для бесплатного скачивания на его официальном веб-ресурсе. Программное обеспечение предлагается для операционных систем Linux, Windows и macOS. Однако перед тем как начать работу с ним, потребуется пройти процедуру регистрации.
Как устроен Postman
Ключевой элемент Postman — это рабочее пространство. В бесплатной версии программы предусмотрено три типа таких пространств:
- Личное доступно лишь его владельцу.
- Доступ к командной информации имеют только те участники группы, которые непосредственно задействованы в её работе.
- Публичное означает, что это открыто для всех, кто проявляет интерес.
В Pro-версии пользователям открывается возможность создания приватных рабочих пространств, которые могут использовать только приглашённые участники, в отличие от всех членов команды. В свою очередь, Enterprise-версия предлагает партнёрские рабочие пространства, доступные не только для команды, но и для приглашённых партнёров.
Давайте проанализируем, какие элементы входят в состав рабочего пространства Postman:
Наиболее примечательной частью является левая боковая панель. Она состоит из семи вкладок, каждая из которых представляет собой ключевой инструмент Postman.
- В разделе «Collections» располагаются собрания запросов к API. Внутри одной коллекции есть возможность группировать несколько запросов в папки.
- APIs. В данном разделе можно сохранять полные API, включая их спецификации и наборы.
- Environments. В этом разделе формируются и хранятся окружения, содержащие переменные. Из любой вкладки в правом верхнем углу, где указано No Environment, возможно переключение между активными окружениями. Кроме того, здесь можно создавать глобальные переменные, которые доступны для использования в любом месте, независимо от выбранного окружения.
- Фиктивные серверы. Данная платформа позволяет создавать виртуальные серверы, которые моделируют функционирование настоящих. Это особенно полезно в процессе тестирования.
- Мониторы предоставляют возможность наблюдать и анализировать функционирование API: они помогают контролировать эффективность работы, проверять доступность и правильность работы сервера в установленное время, а также отправлять уведомления в случае возникновения сбоев.
- Flows представляет собой инструмент, позволяющий настроить логику API-приложений через визуальный редактор. На март 2023 года он по-прежнему находится в стадии тестирования, и чтобы получить доступ к нему, необходимо подать соответствующую заявку.
- История. В этом разделе сохраняются все ранее отправленные запросы. У вас есть возможность их сохранять, группировать в коллекции, а также создавать для них документацию, мониторинг и мок-серверы.
Эффективное использование Postman: пошаговое руководство
Postman является широко распространённым инструментом, который находит активное применение у тестировщиков. С его помощью можно формировать запросы к любому API, независимо от того, использовался ли Postman в процессе их разработки.
Платформа предлагает собственный API, который позволяет любому пользователю протестировать функциональность сервиса и изучить работу запросов. Этот эхо-сервер отвечает клиенту теми же данными, которые были отправлены ему. Ознакомиться с документацией можно по следующей ссылке.
Попробуем создать свой собственный запрос к API и проверить, как он функционирует.
Для формирования новой коллекции следует перейти в раздел Collections и нажать на значок плюса. В левой стороне приложения отобразится пункт New Collection.
Чтобы изменить название на Test Collection, необходимо кликнуть на три точки, расположенные справа от пункта New Collection, а затем в появившемся меню выбрать опцию Rename.
В зоне работы с коллекцией представлено пять различных вкладок:
- Раздел авторизации предоставляет возможность установить метод и параметры, которые будут применяться при каждом запросе в рамках данной коллекции.
- Pre-request Script — это место, где можно создать программу на JavaScript, которая будет запускаться перед выполнением каждого запроса в рамках коллекции. Postman предоставляет готовые сниппеты для наиболее популярных алгоритмов, что позволяет использовать их вместо написания кода с нуля.
- Раздел «Тесты» функционирует аналогично Pre-request Script, однако его код исполняется после отправки запроса. Этот компонент предназначен для тестировщиков, которые занимаются проверкой API. В этом разделе также доступны готовые фрагменты кода.
- Переменные. В этом разделе имеется возможность определить переменную и назначить ей определенное значение. После этого вы сможете применять данную переменную, ссылаясь на её название в двойных фигурных скобках {{название переменной}}.
- Postman предоставляет возможность выполнять запросы не по одному, а группами — целиком из одной коллекции или папки. Информация о проведенных таких запусках и их тестовых результатах сохраняется в разделе Runs.
Существует несколько методов для формирования запроса:
- необходимо кликнуть по кнопке New, расположенной в верхнем левом углу, и выбрать подходящий тип запроса;
- кликнуть на значок плюса, расположенный на панели вкладок в верхней части приложения;
- Нужно кликнуть на три точки рядом с названием коллекции и в появившемся меню выбрать опцию «Добавить запрос».
При выборе первого или второго варианта, важно указать коллекцию для хранения запроса при его первом сохранении.
Создадим GET-запрос к адресу https://postman-echo.com и обозначим его как Test GET. Обратите внимание, что названия запросов можно изменять, так же как и названия коллекций. Для выполнения этой задачи:
- Давайте сформулируем новый запрос.
- Выберем метод GET для этого.
- Давайте перейдём по следующему адресу: https://postman-echo.com/get/.
- В разделе Params мы укажем ключи test_key1 и test_key2, а также соответствующие им значения test_value1 и test_value2.
- Нажмём кнопку Send.
Эхо-сервер отправил нам JSON-документ, содержащий заголовки и параметры, которые мы ему передали (некоторые заголовки Postman добавляет автоматически).
После того как вы получите ответ, у вас будет возможность отдельно ознакомиться с cookies, заголовками и любыми результатами тестов, если они проводились. Кроме того, Postman предоставляет информацию о статусе ответа, времени, затраченном на его получение, и размере возвращаемого файла.
В Postman, как и в коллекциях, предоставляется возможность задавать метод, параметры авторизации, а также предзапросные скрипты и тесты в запросах.
По умолчанию авторизация наследуется от коллекции, однако её можно изменить в рамках конкретного запроса. Что касается скриптов, то они выполняются полностью – как те, что общие для всей коллекции, так и те, которые созданы специально для данного запроса.
Теперь давайте создадим простой тест для нашего GET-запроса, который будет проверять код ответа. Если мы получим код 200, что означает успешное выполнение запроса, тест будет считаться успешным.
Теперь давайте откроем вкладку Tests и в правом столбце обнаружим сниппет с надписью Status code: Code is 200. Кликнем на него, и у нас появится скрипт.
Давайте повторим наш запрос. В разделе ответа на вкладке «Test Results» мы увидим отчет о тестировании: статус PASS, что означает успешное его завершение.
Теперь давайте создадим еще два теста, но не в рамках отдельного запроса, а в пределах одной коллекции. Первый тест будет направлен на проверку наличия в ответе строки test_value2, а второй будет искать строку string_you_want_to_search.
Теперь давайте перейдем к разделу Test Collection и откроем вкладку Tests. Выберем сниппет, который называется Response body: Contains string, и дважды щелкнем по нему. В первой части кода заменим строку string_you_want_to_search на test_value2, а во второй оставим всё без изменений. Не забудьте сохранить внесенные изменения, чтобы новые тесты вступили в силу для запроса.
Теперь отправим аналогичный GET-запрос на эхо-сервер. Он должен успешно пройти первый тест, так как мы использовали test_value2 в качестве одного из параметров, но не сможет пройти второй тест. Давайте проверим результат.
Всё произошло именно так, как мы и ожидали. К запросу были применены как его индивидуальные тесты, так и тесты из общей коллекции, и один из них оказался неуспешным. При этом тесты коллекции были выполнены раньше — до того, как начались тесты самого запроса.
Очередность исполнения сценариев, расположенных в различных частях коллекции, выглядит следующим образом:
- В первую очередь запускаются скрипты, относящиеся к коллекции.
- После этого можно создавать скрипты в папке, так как они тоже могут быть размещены там.
- А затем идут скрипты для выполнения запросов.
Данный подход применим ко всем кодам, как в разделе Tests, так и в Pre-request Scripts.
Переменные, подобно тестам, существуют на различных уровнях в Postman и могут быть созданы в различных местах:
- Глобальные переменные охватывают все элементы рабочего пространства. Их можно создать на вкладке Environments в области Globals.
- Коллекционные переменные формируются в рамках определенной коллекции и функционируют исключительно в её пределах.
- Переменные окружения устанавливаются в разделе Environments. Для того чтобы использовать их в запросах, необходимо непосредственно связать запрос с соответствующим окружением.
- Локальные переменные функционируют в контексте скриптов, которые активируются в ответ на поступающие запросы.
- Переменные данных появляются в процессе использования Collection Runner — инструмента, позволяющего одновременно выполнять все скрипты, находящиеся в коллекции или в её папке.
При более узкой области видимости переменной её приоритет возрастает. Это означает, что в случае наличия глобальной и локальной переменной с одинаковыми именами, будет использовано значение локальной переменной.
Чтобы создать новое окружение под названием Test Environment, вам следует воспользоваться аналогичным процессом, который применяется при создании коллекции, однако на этот раз необходимо перейти во вкладку Environment.
Давайте объявим переменную с именем test_variable и зададим ей значение test_value3. Не забудем сохранить изменения в текущем окружении.
Далее мы переключимся на тестовую коллекцию и активируем нужное окружение, выбрав его в правом верхнем углу интерфейса. Теперь в рамках этой коллекции доступны все переменные из выбранного окружения.
Давайте модернизируем второй скрипт в тестах коллекции. Для этого заменим строку «string_you_want_to_search» на сниппет, который получает переменную окружения. В этом сниппете изменим variable_key на наименование переменной test_variable. После внесения изменений не забудем сохранить результат.
Следовательно, второй скрипт будет осуществлять проверку на наличие в ответе сервера совпадения не с конкретной строкой string_you_want_to_search, а с содержимым переменной test_variable.
Теперь давайте рассмотрим GET-запрос и добавим новый параметр. Ключом этого параметра станет test_key3, а его значением будет содержимое переменной test_variable. Для обозначения переменной мы заключим её имя в двойные фигурные скобки {{}}. После этого сохраним внесённые изменения и отправим запрос.
Как мы можем заметить, все тесты успешно выполнены. Это указывает на то, что значение нашей переменной правильно извлекается как из параметров запроса, так и в ходе тестирования.
Резюмируем
Postman представляет собой универсальный инструмент, который охватывает все этапы жизненного цикла API. Однако, наибольшую популярность он приобрел среди тестировщиков, благодаря своему обширному набору возможностей для работы с запросами к API. В этом приложении можно не только формировать и настраивать запросы, но и организовывать их в коллекции и папки. Кроме того, предусмотрена возможность использования различных окружений с индивидуальными переменными, а также написания автоматизированных тестов.
Postman предлагает различные платные планы, однако для начального этапа, для личных проектов или тестирования API вполне достаточно и бесплатной версии.
У нас в телеграм-канале вы найдете множество увлекательной информации о программировании и коде. Присоединяйтесь к нам!
Читайте также:
- Трудности, с которыми сталкиваются QA-инженеры: какие вызовы стоят перед тестировщиками.
- Тест: определите, какие из представленных языков программирования являются эзотерическими, а какие — нет.
- API, или интерфейс прикладного программирования, представляет собой набор правил и протоколов, позволяющий различным программным приложениям взаимодействовать друг с другом. Он служит своеобразным мостом, который обеспечивает обмен данными и функциональностью между системами.
Работа API основывается на запросах и ответах. Когда одно приложение, например, отправляет запрос к другому через API, оно использует определённый формат, чтобы указать, какая именно информация или действие ему необходимо. Это может быть сделано, например, с помощью HTTP-запросов, таких как GET, POST, PUT и DELETE.
Ответ от API обычно приходит в формате, понятном для приложений, чаще всего это JSON или XML. Таким образом, API позволяет разработчикам интегрировать различные функции и данные в свои приложения, не углубляясь в детали реализации или внутренние механизмы других систем.
В конечном итоге, API значительно упрощает процесс разработки, позволяя создавать более сложные и функциональные решения, комбинируя уже существующие сервисы и инструменты.