Postman Учебник – Как использовать для тестирования API?
Что такое Postman?
Postman — это масштабируемый инструмент тестирования API, который быстро интегрируется в конвейер CI/CD. Он стартовал в 2012 году как побочный проект Абхинава Астаны, направленный на упрощение рабочего процесса API при тестировании и разработке. API означает интерфейс прикладного программирования, который позволяет программным приложениям взаимодействовать друг с другом посредством вызовов API.
Зачем использовать Postman?
Сегодня у нас более 4 миллионов пользователей. Postman Программное обеспечение стало предпочтительным инструментом по следующим причинам:
- Доступность – использовать Postman инструмент, нужно просто войти в свою учетную запись, что упрощает доступ к файлам в любое время и в любом месте, пока есть Postman приложение установлено на компьютер.
- Использование коллекций – Postman позволяет пользователям создавать коллекции для своих Postman API-вызовы. Каждая коллекция может создавать подпапки и несколько запросов. Это помогает в организации ваших наборов тестов.
- Совместная работа. Коллекции и среды можно импортировать или экспортировать, что упрощает обмен файлами. Для обмена коллекциями также можно использовать прямую ссылку.
- Создание сред. Наличие нескольких сред помогает меньше повторять тесты, поскольку можно использовать одну и ту же коллекцию, но для другой среды. Здесь будет происходить параметризация, о которой мы поговорим в дальнейших уроках.
- Создание тестов. К каждому можно добавить контрольные точки тестирования, такие как проверка статуса успешного ответа HTTP. Postman Вызовы API, которые помогают гарантировать тестовое покрытие.
- Автоматизированное тестирование. Благодаря использованию Collection Runner или Newman тесты можно запускать в несколько итераций, экономя время на повторяющиеся тесты.
- Отладка – Postman Консоль помогает проверить, какие данные были получены, что упрощает отладку тестов.
- Непрерывная интеграция – Благодаря способности поддерживать непрерывную интеграцию сохраняются методы разработки.
Как это работает? Postman для выполнения API
Ниже приведена Postman Рабочая среда. Давайте рассмотрим пошаговый процесс на Как это работает? Postman и различные особенности Postman инструмент!
- Новый. Здесь вы создадите новый запрос, коллекцию или среду.
- Импорт — используется для импорта коллекции или среды. Существуют такие параметры, как импорт из файла, папки, ссылки или вставка необработанного текста.
- Runner — тесты автоматизации можно выполнять с помощью Collection Runner. Подробнее об этом пойдет речь на следующем уроке.
- Открыть новую – открыть новую вкладку, Postman Window или Runner Window, нажав эту кнопку.
- Мое рабочее пространство. Вы можете создать новое рабочее пространство индивидуально или в команде.
- Пригласить — сотрудничайте в рабочей области, приглашая членов команды.
- История — отправленные вами прошлые запросы будут отображаться в истории. Это позволяет легко отслеживать действия, которые вы совершили.
- Коллекции. Организуйте свой набор тестов, создавая коллекции. Каждая коллекция может иметь подпапки и несколько запросов. Запрос или папку также можно продублировать.
- Вкладка «Запрос» — здесь отображается заголовок запроса, над которым вы работаете. По умолчанию для запросов без заголовков будет отображаться «Запрос без названия».
- HTTP-запрос. При нажатии на эту кнопку отобразится раскрывающийся список различных запросов, таких как GET, POST, COPY, DELETE и т. д. Postman Тестирование API, наиболее часто используемые запросы — GET и POST.
- URL-адрес запроса. Также известный как конечная точка. Здесь вы указываете ссылку, с которой API будет взаимодействовать.
- Сохранить. Если в запросе есть изменения, необходимо нажать «Сохранить», чтобы новые изменения не были потеряны или перезаписаны.
- Params — здесь вы будете писать параметры, необходимые для запроса, например значения ключей.
- Авторизация. Для доступа к API необходима соответствующая авторизация. Он может быть в форме имени пользователя и пароля, токена на предъявителя и т. д.
- Заголовки. Вы можете установить заголовки, такие как тип контента JSON, в зависимости от потребностей организации.
- Тело – здесь можно настроить детали запроса, обычно используемые в запросе POST.
- Сценарий предварительного запроса. Это сценарии, которые будут выполняться перед запросом. Обычно сценарии предварительного запроса для среды настройки используются, чтобы гарантировать, что тесты будут выполняться в правильной среде.
- Тесты — это сценарии, выполняемые во время запроса. Важно иметь тесты, поскольку они устанавливают контрольные точки, чтобы проверить, в порядке ли статус ответа, соответствуют ли полученные данные ожидаемым, и другие тесты.
Работа с GET-запросами
Запросы Get используются для получения информации по заданному URL-адресу. В конечной точке не будет произведено никаких изменений.
Мы будем использовать следующий URL для всех примеров в этом документе. Postman учебник https://jsonplaceholder.typicode.com/users
В рабочей области
- Установите для HTTP-запроса значение GET.
- В поле URL запроса введите ссылку
- Нажмите Отправить
- Вы увидите сообщение 200 ОК.
- В теле должно быть 10 пользовательских результатов, что указывает на то, что ваш тест прошел успешно.
*Заметка: Могут быть случаи, когда Get Postman запрос может оказаться неудачным. Это может быть связано с неверным URL-адресом запроса или необходимостью аутентификации.
Работа с POST-запросами
Запросы на публикацию отличаются от запроса на получение, поскольку при этом пользователь манипулирует данными, добавляя данные в конечную точку. Используя те же данные из предыдущего урока в запросе Get, давайте теперь добавим нашего собственного пользователя.
Шаг 1) Откройте новую вкладку, чтобы создать новый запрос.
Шаг 2) В новой вкладке
- Установите для HTTP-запроса значение POST.
- Введите ту же ссылку в URL-адрес запроса: https://jsonplaceholder.typicode.com/users
- переключитесь на вкладку «Тело»
Шаг 3) В теле,
- Нажмите сырой
- Выберите JSON
Шаг 4) Скопируйте и вставьте только один результат пользователя из предыдущего запроса на получение, как показано ниже. Убедитесь, что код скопирован правильно с помощью парных фигурных скобок и квадратных скобок. Измените идентификатор на 11 и укажите любое желаемое имя. Вы также можете изменить другие данные, например адрес.
[ { "id": 11, "name": "Krishna Rungta", "username": "Bret", "email": "Sincere@april.biz", "address": { "street": "Kulas Light", "suite": "Apt. 556", "city": "Gwenborough", "zipcode": "92998-3874", "geo": { "lat": "-37.3159", "lng": "81.1496" } }, "phone": "1-770-736-8031 x56442", "website": "hildegard.org", "company": { "name": "Romaguera-Crona", "catchPhrase": "Multi-layered client-server neural-net", "bs": "harness real-time e-markets" } } ]
*Заметка: Запрос онлайн-публикации должен иметь правильный формат, чтобы обеспечить создание запрошенных данных. Рекомендуется использовать Get first для проверки формата JSON запроса. Вы можете использовать такие инструменты, как https://jsonformatter.curiousconcept.com/
Шаг 5) Далее,
- Нажмите Отправить.
- Статус: 201 Создано, должен отображаться
- Опубликованные данные отображаются в теле сообщения.
Как параметризовать запросы
Параметризация данных — одна из наиболее полезных функций Postman. Вместо создания одинаковых запросов с разными данными вы можете использовать переменные с параметрами. Эти данные могут быть из файла данных или переменной среды. Параметризация помогает избежать повторения одних и тех же тестов, а итерации можно использовать для автоматизация тестирования.
Параметры создаются с помощью двойных фигурных скобок: {{sample}}. Давайте рассмотрим пример использования параметров в нашем предыдущем запросе:
Теперь давайте создадим запрос на получение параметров.
Шаг 1)
- Установите для HTTP-запроса значение GET.
- Введите эту ссылку: https://jsonplaceholder.typicode.com/users. Замените первую часть ссылки таким параметром, как {{url}}. URL-адрес запроса теперь должен быть {{url}}/users.
- Нажмите отправить.
Ответа быть не должно, поскольку мы не установили источник нашего параметра.
Шаг 2) Для использования параметра необходимо настроить среду
- Нажмите на значок глаза
- Нажмите «Изменить», чтобы установить для переменной глобальную среду, которую можно использовать во всех коллекциях.
Шаг 3) В переменной,
- установите имя для URL-адреса https://jsonplaceholder.typicode.com
- нажмите Сохранить.
Шаг 4) Нажмите «Закрыть», если увидите следующий экран.
Шаг 5) Вернитесь к запросу на получение и нажмите «Отправить». Теперь по вашему запросу должны быть результаты.
*Заметка: Во избежание ошибок всегда проверяйте, что у ваших параметров есть источник, такой как переменная среды или файл данных.
Как создать Postman Tests
Postman Тесты JavaКоды скриптов, добавляемые к запросам, которые помогают вам проверять результаты, такие как успешный или неудачный статус, сравнение ожидаемых результатов и т. д. Обычно начинается с pm.test. Его можно сравнить с asserts, verify командами, доступными в других инструментах.
Давайте сделаем некоторые базовые API тестирование через Postman для наших запросов на параметризацию из предыдущего урока.
Шаг 1) Перейдите к пользовательскому запросу GET из предыдущего руководства.
- Перейдите на вкладку тестов. Справа находятся фрагменты кодов.
- В разделе фрагментов нажмите «Код состояния: код 200».
Панель заполняется автоматически
Шаг 2) Теперь нажмите Отправить. Теперь должен отобразиться результат теста.
Шаг 3) Вернитесь на вкладку тестов и добавим еще один тест. На этот раз мы сравним ожидаемый результат с фактическим результатом.
В разделе фрагментов нажмите «Тело ответа: проверка значения JSON». Мы проверим, имеет ли Линн Грэм идентификатор пользователя 1.
Шаг 4)
- Замените «Имя вашего теста» в коде на «Проверьте, является ли пользователь с идентификатором 1 Линн Грэм», чтобы имя теста точно указывало, что мы хотим протестировать.
- Замените jsonData.value на jsonData[0].name. Чтобы получить путь, проверьте тело в разделе «Получить результат» ранее. Поскольку у Линн Грэм идентификатор пользователя 1, jsonData находится в первом результате, который должен начинаться с 0. Если вы хотите получить второй результат, используйте jsonData[1] и так далее для получения успешных результатов.
- В eql введите «Линн Грэм».
pm.test("Check if user with id1 is Leanne Graham", function () { var jsonData = pm.response.json(); pm.expect(jsonData[0].name).to.eql("Leanne Graham"); });
Шаг 5) Нажмите «Отправить». Теперь по вашему запросу должно быть два пройденных результата теста.
*Заметка: Существуют различные виды тестов, которые можно создавать в Postman. Попробуйте изучить этот инструмент и посмотреть, какие тесты подойдут вашим потребностям.
Как создавать коллекции
Коллекции играют важную роль в организации наборов тестов. Его можно импортировать и экспортировать, что упрощает обмен коллекциями между членами команды. В этом уроке мы научимся создавать и выполнять коллекцию.
Приступим к созданию коллекции:
Шаг 1) Нажмите кнопку «Новый» в левом верхнем углу страницы.
Шаг 2) Выберите Коллекция. Должно появиться окно создания коллекции.
Шаг 3) Введите желаемое имя и описание коллекции, затем нажмите «Создать». Теперь должна быть создана коллекция.
Шаг 4) Вернитесь к предыдущему запросу Get. Нажмите «Сохранить».
Шаг 5)
- Выберите Postman Тестовый сборник.
- Щелкните Сохранить в Postman Тестовая коллекция
Шаг 6) Postman тестовая коллекция теперь должна содержать один запрос.
Шаг 7) Повторите шаги 4–5 для предыдущего запроса на публикацию, чтобы в коллекции теперь было два запроса.
Как запускать коллекции с помощью Collection Runner
Существует два способа запуска коллекции: Collection Runner и Newman. Начнем с выполнения коллекции в Collection Runner.
Шаг 1) Нажмите кнопку «Бегущий» в верхней части страницы рядом с кнопкой «Импорт».
Шаг 2) Страница Collection Runner должна выглядеть так, как показано ниже. Ниже приводится описание различных полей.
Шаг 3) Запустите свой Postman Протестируйте сбор, выполнив следующие настройки:
- Выберите Postman тестовая коллекция. Установите итерации как 3.
- Установите задержку 2500 мс.
- Нажмите «Выполнить». Postman Кнопка «Проверить…»
Шаг 4) Страница результатов запуска должна отображаться после нажатия кнопки «Выполнить». В зависимости от задержки вы должны видеть тесты по мере их выполнения.
- После завершения тестов вы можете увидеть статус теста (пройден или не пройден), а также результаты за итерацию.
- Вы увидите статус «Пройдено» для запросов на получение.
- Поскольку никаких тестов для Post у нас не было, то должно появиться сообщение, что в запросе нет тестов.
Вы можете видеть, насколько важно, чтобы в ваших запросах были тесты, чтобы вы могли проверить статус HTTP-запроса в случае его успеха, а также создания или получения данных.
Как запускать коллекции с помощью Newman
Другой способ запустить коллекцию — через Newman. Основные различия между Newman и Collection Runner заключаются в следующем:
- Newman — это дополнение к Postman. Вам нужно будет установить его отдельно от собственного приложения.
- Ньюман использует командную строку, а Collection Runner имеет графический интерфейс.
- Newman можно использовать для непрерывной интеграции.
Чтобы установить Newman и запустить из него нашу коллекцию, сделайте следующее:
Шаг 1) Установите nodejs, используя эту ссылку: http://nodejs.org/download/
Шаг 2) Откройте командную строку и введите
npm install -g newman
Теперь Newman должен быть установлен на вашем компьютере.
Шаг 3) После установки Newman вернемся к нашему Postman workspace.В поле Collections нажмите на три точки. Теперь должны появиться параметры. Выберите Export.
Шаг 4) Выберите «Экспортировать коллекцию» как «Коллекцию v2.1 (рекомендуется)», затем нажмите «Экспорт».
Шаг 5) Выберите желаемое местоположение и нажмите «Сохранить». Желательно создать отдельную папку для вашего Postman тесты. Теперь коллекция должна быть экспортирована в выбранный вами локальный каталог.
Шаг 6) Нам также потребуется экспортировать нашу окружающую среду. Нажмите на значок глаза рядом с раскрывающимся списком среды в разделе «Глобальные», выберите «Загрузить как JSON». Выберите желаемое местоположение и нажмите «Сохранить». Желательно, чтобы среда находилась в той же папке, что и ваша коллекция.
Шаг 7) Теперь среду следует экспортировать в тот же локальный каталог, что и коллекцию.
Шаг 8) Теперь вернитесь в командную строку и измените каталог на тот, в котором вы сохранили коллекцию и среду.
cd C:\Users\Asus\Desktop\Postman Tutorial
Шаг 9) Запустите свою коллекцию с помощью этой команды:
newman run PostmanTestCollection.postman_collection.json -e Testing.postman_globals.json
Результаты запуска теперь должны выглядеть так, как показано ниже.
В руководстве приведены ссылки на некоторые основные коды Ньюмана для выполнения:
- Запуск только коллекции. Это можно использовать, если нет зависимости от среды или файла тестовых данных.
- Запустите коллекцию и среду. Индикатор -e предназначен для окружающей среды.
- Запустите сбор с желаемым номером. итераций.
- Запустить с файлом данных.
- Установите время задержки. Это важно, поскольку тесты могут завершиться неудачей, если они выполняются без задержки из-за того, что запросы запускаются без завершения обработки предыдущего запроса на сервере конечной точки.
newman run <collection name>
newman run <collection name> -e <environment name>
newman run <collection name> -n <no.of iterations>
newman run <collection name> --data <file name> -n <no.of iterations> -e <environment name>
newman run <collection name> -d <delay time>
Наша команда Postman руководство по вопросам на собеседовании поможет вам пройти собеседование и получить работу вашей мечты по тестированию программного обеспечения.
Итого
- Тестирование API с использованием Postman: Postman это приложение для тестирования API. Postman — один из самых популярных инструментов, используемых при тестировании API, отправляющий запросы на веб-сервер и получающий ответ.
- Доступность, использование коллекций, совместная работа, непрерывная интеграция — вот некоторые из ключевых функций, которым нужно научиться. Postman
- Рекомендуется создать учетную запись в Postman, поэтому ваши коллекции доступны в Интернете
- Вы можете параметризовать запрос в Postman
- Вы можете создавать тесты для проверки запроса почтальона.
- Коллекции можно запускать с помощью Newman или Collection Runner.