Изучите наше решение для тестирования нагрузки или прочитайте ниже для получения шагов по использованию Postman с LoadView
What is Postman for API testing?
Can we use Postman for API testing?
How do I test a Postman POST request?
Why do we use Postman tool?
Инструмент Postman неоценим, помогая нам тестировать API. С Postman мы можем легко наблюдать за активностью и результатами API. В целом, он поддерживает быструю разработку, устранение неполадок и проверку API.
What are the methods used in Postman?
Что такое почтальон?
Postman — это популярный клиентский инструмент API, который упрощает командам разработчиков создание, совместное использование, тестирование и документирование API. Он обеспечивает бесшовный пользовательский интерфейс , который помогает в достижении конечных точек API, быстро создавая запросы в соответствии со спецификацией API и анализируя различные параметры ответа, такие как код состояния, заголовки и само тело ответа. Мы можем использовать эти функции для непрерывного и автоматизированного тестирования. Он используется в качестве вспомогательного инструмента для разработки, документирования и тестирования API и предоставляет пользовательский интерфейс для выполнения запросов к серверу API REST (Representational State Transfer) и показывает ответ от серверов. Postman — это инструмент разработки API, используемый в жизненном цикле разработки программного обеспечения:
- Разработка API
- Тестирование API
- Документация API
Postman не только предоставляет нам среду для работы с API, но и может использоваться для запроса веб-страниц, как браузер. Введите URL-адрес в адресной строке и нажмите отправить, чтобы увидеть ответ HTML (язык гипертекстовой разметки). Postman также может помочь добавить скрипты до того, как пользователь отправит запрос, и после получения ответа. Мы можем хранить каждый запрос в коллекции, которая позже может быть использована для хранения всех запросов в порядке. Однако одна вещь, которой Postman не является, – это инструмент тестирования производительности. Хотя вы сможете выполнять небольшие контролируемые тесты, которые дают вам время отклика API, это не то же самое, что запускать тест в реальных условиях. Это не подвергает API какому-либо реальному стрессу, поэтому это не является хорошим показателем того, как ваш API будет реагировать, когда участвуют реальные пользователи. Для этого вам понадобится такое решение , как LoadView, о котором мы поговорим более подробно позже в этой статье.
Что такое тестирование API?
При тестировании API мы используем специальные инструменты для отправки звонков на сервер, принимающий API, и получения ответа. Целью тестирования API является подтверждение правильного выполнения и проверка того, получает ли API, сохраняет или обновляет ресурсы по назначению.
Если мы знаем, что API должен выполнять определенные действия, такие как обновление данных, получение данных, удаление данных, изменение данных, тесты должны проверять результаты этих действий. Он ведет себя так же, как и должен быть? А когда этого не должно произойти? И результаты, которые вы ожидаете, что это будет? Тестирование API, как правило, тестирование черного ящика, но в той степени, что у нас есть доступ к результатам действий API заранее, и мы знаем ожидаемый ответ, который должен быть проверен.
Тестирование API: функциональное тестирование против тестирования нагрузки
Как мы кратко упоминали выше, функциональное тестирование, или тестирование черного ящика, в первую очередь связано с тестированием основных функций по набору спецификаций и наблюдением за тем, работают ли они или нет. Прежде чем API можно будет проведить цикл разработки и протестировать дальше, важно, чтобы основные функции API работали. Если разработчики перейдут от функционального тестирования к нагрузочному тестированию, не убедившись, что основные функции были должным образом протестированы, это приведет к потере нагрузочных тестов и результатов. Результаты функционального тестирования просто наблюдают, работает ли что-то или нет.
С другой стороны, нагрузочное тестирование похоже на функциональное тестирование, но разница в том, что нагрузочное тестирование устанавливает наборы для проверки того, как эти функции выдерживают большое количество одновременных пользователей или нагрузку. Результаты тестирования нагрузки включают понимание того, как эти конечные точки API реагируют и работают под нагрузкой.
Особенности Почтальона
По-видимому, нет конца огромному количеству функций, которые Postman предлагает пользователям. От таких функций, как Postman API и элементы управления рабочим процессом, до встроенных мониторов для регрессионного тестирования, инструмент имеет покрытие тестирования API. Тем не менее, на высоком уровне есть несколько основных функций, которые понадобятся каждому тестировщику API. Давайте подробнее рассмотрим эти особенности.
Запросы на импорт
Почтальон предоставляет функцию импорта, где мы можем вставить сырой текст CURL и преобразовать его в запрос, отформатированный с такими деталями, как URL-адрес запроса, заголовники, орган запроса, параметры запроса и токены авторизации.
Многократная поддержка протокола и технологий
Функция клиента Postman API позволяет нам отправлять запросы REST, SOAP, WSDL и GraphQL .
Пишите тестовые случаи
Мы можем создавать тестовые случаи, которые заходят в добавленные API, и можем помочь в проверке ответов при утверждении ответов JSON/XML и проверки кода ответа.
Коллекции
Почтальон помогает нам создавать коллекции, которые помогают сегрегировать API с помощью папок Структура для различных проектов. Он обеспечивает поддержку для запуска коллекции, которая в конечном итоге запустит все API часть коллекции.
Проверка JSON Schema
Схему JSON (JavaScript Object Notation) можно использовать для определения структуры их запросов и ответов. Это помогает очищать и структурировать контент JSON, делая его легким для понимания и чтения на Postman.
Использование окружающей среды и динамических переменных
Мы можем создавать переменные в Postman и на основе различных сред, те же переменные могут иметь различные значения отображаются для выбранной среды. Это полезно, пока мы работаем с одними и теми же API, но с несколькими средами в реальном мире.
Преобразование API в код
Почтальон позволяет преобразовать запрос API в код на всех известных языках, таких как JavaScript, Golang, Java, PHP, Python и многих других.
Преимущества почтальона
Те, кто использует Postman на регулярной основе, будут знакомы с приведенными ниже преимуществами. Однако это не исчерпывающий список возможностей и возможностей этого инструмента тестирования API. Давайте рассмотрим некоторые из основных преимуществ Postman.
Автоматизация тестирования API
Это первое и самое очевидное преимущество Postman. Инструмент позволяет автоматизировать тестирование API и интегрировать коллекцию с конвейерами CI/CD. И, как мы упоминали выше, при тестировании API используются форматы JSON или XML, которые не зависят от структуры приложения или протоколов, используемых разработчиками. Независимо от того, какой фреймворк вы используете (Python, JavaScript, Ruby и т. Д.), Postman поддерживает его. Модульные тесты, интеграционные тесты, регрессионные тесты и пробные тесты можно автоматизировать.
Платформа и ОС совместимы
Postman доступен для Mac OS X, Windows и Linux. Веб-приложение Postman также доступно и оптимизировано для Chrome, Firefox, Edge и Safari.
Отчеты о тестах почтальона
Он предоставляет отчет о тестировании, который помогает нам отслеживать данные через построитель запросов, и вы можете создавать HTML-отчеты для тестовых запусков.
Интеграции
Postman предоставляет поддержку и может быть легко интегрирован со всеми основными инструментами разработчиков, такими как GitHub, Slack, Dropbox и GitLab.
Цены
Все основные функциональные возможности Почтальона бесплатны. Вы можете получить все вышеперечисленные преимущества бесплатно. Есть также платные планы для Почтальон Pro и Почтальон предприятия для малых и крупных предприятий.
Альтернативы почтальону
развязность
Swagger — это спецификация API с открытым исходным кодом, это как WSDL для REST API, где вы определяете структуру REST API (URL-адреса конечных точек, модели ввода/вывода, схема аутентификации и т. д.). Файл спецификации основан на JSON, а его расширение — JSON или YAML. Вот некоторые из ключевых особенностей Swagger:
- С открытым исходным кодом и бесплатно, однако это может быть трудно узнать или найти ресурсы для вопросов.
- Swagger представляет API в браузере.
- Может автоматически генерировать документацию из создания ваших услуг.
Мыльный пользовательский интерфейс
SoapUI позволяет пользователям быстро и легко тестировать API REST и SOAP, так как инструмент был создан специально для тестирования API. SoapUI помогает в тестировании сложных комбинаций веб-сервисов, таких как RESTful, SOAP, JSON и AMF. Тем не менее, вы должны использовать WSDL для тестирования веб-сервисов. Кроме того, чтобы внедрить автоматизацию, требуется много сценариев, и для пользователей, у которых не было такого опыта, это может стать трудным и трудоемким. Некоторые из ключевых моментов SoapUI являются:
- Функция point-and-click помогает облегчить удобство использования JSON и XML.
- Загрузка данных из Excel, файлов, баз данных и т.д.
- Повторное использование функциональных тестовых случаев в качестве нагрузочных тестов.
- Интегрируется со сторонними платформами управления API, поддерживает REST, SOAP, JMS, IoT и т.д.
Интеграция тестирования коллекции Почтальона в конвейер CI/CD
Непрерывная интеграция (CI) — это практика разработки, которая требует от разработчиков регулярного слияния кода в общий репозиторий. Она включает в себя процесс автоматизации сборки и тестирования приложений каждый раз, когда новое изменение становится приверженным исходный код. Непрерывное развитие можно объяснить последовательностью шагов, которые должны выполняться последовательно, чтобы приложение можно было работать на специализированном сервере и выполнять его использование при обслуживании запросов пользователей.
Загрузите коллекции почтальона с помощью LoadView
Всякий раз, когда мы тестируем бэк-энд приложения, тестирование функциональности является стандартной частью процесса, чтобы гарантировать, что все работает так, как мы планировали их для работы. Теперь, это все хорошо, но не для реального мира. Ваши приложения будут использоваться многими, если не сотнями или тысячами пользователей одновременно, поэтому нам также необходимо провести тестирование производительности, чтобы увидеть, насколько хорошо они выдерживают этот трафик. Мы должны проверить и проверить приложение с каждым изменением приложения. Как мы видели обзор Postman, его особенности и как мы можем настроить стратегию тестирования для функционального тестирования API, мы должны понимать инструменты, которые могут помочь стресс-тест приложения.
В тех случаях, когда мы используем Postman для тестирования функциональности веб-API и хотим создать тест нагрузки из коллекций вызова API, мы можем выбрать специализированный инструмент тестирования нагрузки, такой как LoadView. LoadView обеспечивает реальное нагрузочное тестирование на основе браузера для API, а также веб-приложений (внешних и внутренних), а также веб-сайтов и серверов.
испытательная установка
Мы будем пошаговому взгляду на то, как настроить тест нагрузки веб-приложений для коллекции Postman.
LoadView Почтальон API Тестирование: Шаг 1
Прежде чем мы даже начнем, мы должны экспортировать Postman Collection. Мы можем выбрать опцию для получить публичную ссылку и можем легко импортировать ее в LoadView (Примечание: Убедитесь, что Postman Collection использует локальные переменные только потому, что переменные среды не хранятся в коллекции).
LoadView Почтальон API Тестирование: Шаг 2
Откройте платформу LoadView и выберите тест «Создай новую нагрузку».
LoadView Почтальон API Тестирование: Шаг 3
Здесь вы увидите различные типы тестирования нагрузки, которые доступны в LoadView – веб-приложения, веб-сайты и API. Для нашего использования мы выбираем опцию Postman Collection для запуска тестов API.
LoadView Почтальон API Тестирование: Шаг 4
Откроется новое окно, и вот где нам нужно будет импортировать экспортируемую коллекцию почтальона и нажмите Создать устройство.
LoadView Почтальон API Тестирование: Шаг 5
После того как мы успешно создали устройство, мы хотели бы видеть экран сценария тестирования, где мы можем установить тип нагрузки, который будет отличаться в зависимости от цели нашего теста.
- Нагрузка на основе кривой. Это для выполнения нагрузочных тестов с известным числом пользователей и повышения трафика после настройки времени разминки.
- Цель на основе кривой. Эта тестовая настройка используется, когда мы ищем желаемые транзакции в секунду для нашего конкретного API и хотим масштабироваться до желаемых одновременных пользователей.
- Динамическая кривая . Этот набор позволяет выбирать динамические значения по количеству пользователей, максимальной продолжительности тестирования и может быть изменен в режиме реального времени во время теста.
LoadView Почтальон API Тестирование: Шаг 6
После создания тестового сценария со списком всех API теперь мы можем выполнять нагрузочных и стресс-тесты для наших API. После успешного завершения тестового запуска груза вам будут предоставлены отчеты, панели мониторинга и метрики, которые показывают, как наши API и системы выполняются под нагрузкой.
Интеграция тестовой нагрузки Postman Collection Load с Jenkins
По мере того как мы смотрели как мы можем интегрировать и побежать испытания нагрузки собрания Postman используя LoadView, мы можем добавить эти испытания как часть CI/CD для того чтобы получить регулярн обратную связь и результаты представления. LoadView также обеспечивает интеграцию с Jenkins, которая помогает веб-сайтам стресс-тестов, веб-приложениям и API с одновременными соединениями в реальных браузерах из полностью управляемого облака. Любые новые обновления или дополнительные функции также могут быть проверены с помощью плагина LoadView для Jenkins.
Давайте рассмотрим шаги, используемые для ранее созданного сценария тестирования коллекции Postman в LoadView и его интеграции с Jenkins.
Шаг 1. Чтобы интегрировать тесты с Jenkins, мы будем использовать тот же сценарий теста Почтальона, созданный выше.
Шаг 2. Создайте уникальный UID. Он будет использоваться в качестве маркера безопасности для интеграции в Jenkins. Копирование интеграционного UID.
Шаг 3. Идентификатор тестового сценария для нашей коллекции Postman можно найти на странице настройки сценария или на странице истории тестирования (Test Manager > меню тестовых действий > History).
LoadView Плагин в Дженкинс
Чтобы настроить плагин LoadView, следуйте этим шагам:
- Войдите в свой аккаунт Дженкинса.
- В Jenkins перейдите на учетные > данные, добавляйте > токен безопасности LoadView (UID). Настройка и проверка учетных данных.
- Вид. Токен безопасности LoadView (UID).
- Область действия. Выберите Глобальный.
- ID. Оставьте по умолчанию или укажите уникальный идентификатор.
- Описание . Укажите уникальное описание, чтобы различать учетные данные.
- UID. Вставьте веб-API-API-api с вашей учетной записи LoadView. После добавления UID нажмите Validate UID, чтобы убедиться, что Дженкинс может получить доступ к API LoadView.
- Далее выберите задание и нажмите Настройка.
- Перейти к > созданию пост-сборки > Действия Добавить после сборки > действий LoadView-Run сценарий тестирования нагрузки. Укажите настройки стресс-теста LoadView для сборки:
- Учетные данные. Выберите ключ API, используя описание.
- Идентификатор сценария. Вставьте идентификатор сценария тестирования, который вы хотите использовать в сборке. Копировать идентификатор со страницы сценария в LoadView.
- Порог ошибки. Укажите приемлемый процент сеансов с ошибками, которые произошли во время тестирования (не удалось получить доступ к целевому ресурсу, не ключевые слова / изображения не найдено и т.д.). Если процент сеансов ошибок превышает указанное значение, сборка будет помечена как сбойв Jenkins.
- Среднее время. Укажите ограничение на среднее время отклика, измеренное во время выполнения теста. Если лимит достигнут, сборка будет помечена как сбойв Jenkins.
- Нажмите Сохранить.
Просмотр результатов тестирования LoadView
Наконец, мы успешно интегрировали нашу коллекцию Postman с Jenkins, используя LoadView в качестве платформы. Во время времени времени, как работает наш стресс-тест, статус отображается в выходе консоли Jenkins в режиме реального времени.
Мониторинг почтового сбора испытаний
LoadView является частью многих решений в платформе Dotcom-Monitor. Dotcom-Monitor также предоставляет простые инструменты мониторинга для наших коллекций Почтальон. Если у нас есть коллекция интеграционных тестов, используемых для внутреннего тестирования API с Postman, и мы также хотим настроить тесты для запуска из-за пределов локальной сети, мы можем загрузить тесты Почтальона в Dotcom-Monitor. Используя задачу Dotcom-Monitor Postman Collection, мы можем создавать автоматизированные тесты мониторинга с оповещениями об ошибках. Мы можем указать места мониторинга, планировщик мониторинга, фильтры и настроить отчетность на основе результатов мониторинга.
Сбор добавленных запросов HTTP будет неоднократно выполняться с определенной частотой для выполнения последовательности вызовов целевого веб-API. При этом мы будем иметь утверждения, которые были указаны для запросов в Почтальон, который поможет проверить ответы API. Если какое-либо условие, поставленное утверждениями, не выполнено, задача будет помечена как неудачная.
Нагрузочное тестирование и безопасность Postman
В мире тестирования API безопасность имеет первостепенное значение.
Postman, известный своими широкими возможностями тестирования, также предлагает надежные функции для тестирования безопасности API.
В этом разделе подробно рассматривается вопрос о том, как можно использовать Postman для усиления аспекта безопасности API, гарантируя, что они не только функциональны, но и защищены от потенциальных угроз.
Протоколы безопасности и методы аутентификации
Postman умело работает с различными протоколами безопасности и методами аутентификации, что имеет решающее значение для тестирования API в различных средах.
Он поддерживает базовую аутентификацию, OAuth 1.0 и 2.0, маркеры носителя и многое другое, что позволяет тестировщикам точно воспроизводить реальные сценарии.
Такая универсальность жизненно важна при тестировании API, требующих аутентификации, гарантируя, что доступ к ним имеют только авторизованные пользователи.
Тестирование на распространенные уязвимости
API часто подвержены ряду уязвимостей безопасности.
Postman помогает выявлять распространенные проблемы, такие как внедрение SQL-кода, межсайтовый скриптинг (XSS) и несанкционированный доступ к данным.
Создавая конкретные тестовые сценарии в Postman, тестировщики могут моделировать шаблоны атак и оценивать устойчивость API к этим уязвимостям.
Автоматизация тестов безопасности
Автоматизация тестирования безопасности имеет важное значение для непрерывной интеграции и конвейеров поставки.
Postman упрощает автоматизацию тестов безопасности, позволяя командам интегрировать эти тесты в свои обычные циклы разработки.
Такой подход гарантирует, что оценка защищенности не является разовой проверкой, а является непрерывной частью процесса разработки и обслуживания API.
Создание и анализ отчетов по безопасности
Способность Postman создавать подробные отчеты после тестирования неоценима.
Эти отчеты дают представление о потенциальных недостатках безопасности, предлагая всесторонний обзор состояния безопасности API.
Анализ этих отчетов помогает командам определить приоритеты исправлений и повышает общую безопасность приложения.
Включение Postman в стратегию тестирования безопасности не только оптимизирует процесс тестирования, но и повышает стандарты безопасности API.
Такая интеграция имеет решающее значение в современном ландшафте разработки, где безопасность так же важна, как функциональность и производительность.
Загрузка Тестирование API с почтальоном: Заключительные мысли
Сообщество разработчиков имеет различные мнения о тестировании API. Мы видели, как Почтальон помогает нам в целом в создании, поддержании и тестировании API с такой легкостью. Мы также рассмотрели пошаговое руководство о том, как мы можем имитировать одновременное нагрузочное тестирование коллекции Postman с помощью LoadView. Наконец, мы рассмотрели, как мы можем автоматизировать этот шаг, используя интеграцию Jenkins с LoadView. Инструменты, необходимые для подчеркивая эти приложения были упрощены в последнее время, и это обеспечивает огромную помощь тестирования сложных систем, которые зависят от внутренних и внешних приложений. Это помогает нам более четко определить узкие места и проблемы.
В LoadView наша цель – быть вашим экспертным партнером по всем вопросам нагрузочного тестирования, на каждом этапе разработки и на любом уровне сложности. Мы понимаем, что нагрузочное тестирование может быть рутиной, поэтому мы неустанно работаем, чтобы упростить процесс, чтобы вы и ваша команда разработчиков могли интегрировать процесс нагрузочного тестирования в существующие практики DevOps и посвятить львиную долю вашего времени и ресурсов тому, что имеет значение, а именно улучшению ваших веб-сайтов и веб-приложений для ваших пользователей. Избавляя от головной боли нагрузочного тестирования, LoadView помогает улучшить весь процесс разработки и, в конечном счете, опыт пользователей.
Наша команда экспертов готова поддержать вас и вашу команду при разработке и улучшении стратегии нагрузочного тестирования, и вы обнаружите, что наша платформа интуитивно понятна и проста в использовании даже для нетехнических пользователей. Мы предлагаем реальное тестирование браузера, сценарии «наведи и щелкни», а также всеобъемлющие, читаемые отчеты, которые исключают догадки из нагрузочного тестирования и позволяют эффективно сотрудничать между функциями разработчика. Мы также работаем над тем, чтобы оставаться впереди индустрии нагрузочного тестирования и предоставлять нашим пользователям новые и усовершенствованные инструменты для удовлетворения меняющихся требований постоянно развивающегося цифрового ландшафта. LoadView — это ваша полноценная платформа нагрузочного тестирования, сейчас и в будущем.
Начните нагрузочное тестирование API уже сегодня с помощью LoadView. Подпишитесь на бесплатную пробную версию и получите бесплатные нагрузочные тесты. Или зарегистрируйтесь на одну из наших частных демонстраций с одним из наших инженеров производительности. Наш инженер проведет вас через полную платформу LoadView, а также покажет вам, как интегрировать LoadView в коллекции Postman и автоматизировать шаги с помощью Jenkins.