В этом руководстве мы будем настраивать и использовать Postman для выполнения запросов к Службам коммуникации Azure с помощью HTTP. По завершении работы с этим руководством вы отправите SMS с помощью Служб коммуникации и Postman. Затем вы сможете использовать Postman для изучения других API в Службах коммуникации Azure.
В этом учебнике мы выполним следующее:
- Скачивание Postman.
- Настройка Postman для подписи HTTP-запросов.
- Выполнение запроса к API SMS для Служб коммуникации для отправки сообщения.
Предварительные требования
- Учетная запись Azure с активной подпиской. Дополнительные сведения см. на странице Создайте бесплатную учетную запись Azure уже сегодня. Бесплатная учетная запись предусматривает предоставление 200 долл. США в качестве денег на счете в Azure, что позволяет испытать в работе любое сочетание служб.
- Активный ресурс Служб коммуникации и строка подключения. Практическое руководство по созданию ресурса Служб коммуникации.
- Службы коммуникации Azure Номер телефона, который может отправлять SMS-сообщения, см. в разделе Получение номера телефона, чтобы получить его.
Скачивание и установка Postman
Postman — это классическое приложение, способное выполнять запросы API к любому API HTTP. Он обычно используется для тестирования и изучения API-интерфейсов. Мы скачаем последнюю версию для настольных систем с веб-сайта Postman. Существуют версии Postman для Windows, Mac и Linux, поэтому скачайте версию, соответствующую вашей операционной системе. После скачивания откройте приложение.
Postman — основы в 5 минут. Postman для начинающих
Появится окно с начальным экраном, в котором будет предложено выполнить вход или создать учетную запись Postman. Создание учетной записи является необязательным. Его можно пропустить, щелкнув ссылку Skip and go to app (Пропустить и перейти к приложению). При создании учетной записи параметры запроса API будут сохранены в Postman, что позволит вам применять запросы на других компьютерах.
После создания учетной записи или пропуска этого шага отобразится главное окно Postman.
Создание и настройка коллекции Postman
После этого запросы могут упорядочиваться различными способами. В рамках изучения этого учебника мы создадим коллекцию Postman. Для этого нажмите кнопку Collections (Коллекции) в левой части приложения:
Затем щелкните Create new Collection (Создать коллекцию), чтобы начать процесс создания коллекции. В центральной области Postman откроется новая вкладка. Присвойте коллекции любое имя. Здесь коллекция называется «Службы коммуникации Azure»:
После создания коллекции и присвоения ей имени можно приступать к ее настройке.
Добавление переменных коллекции
Для обеспечения проверки подлинности и упрощения запросов мы укажем две переменные коллекции в только что созданной коллекции Служб коммуникации. Эти переменные доступны для всех запросов в коллекции Служб коммуникации. Чтобы приступить к созданию переменных, посетите вкладку Variables (Переменные) в разделе Collections (Коллекции).
На вкладке Collections (Коллекции) создайте две переменные:
- key — эта переменная должна быть одним из ключей со страницы ключа Службы коммуникации Azure на портале Azure. Например, oW. A== .
- endpoint — эта переменная должна быть конечной точкой Службы коммуникации Azure на странице ключей. Убедитесь, что вы удалили замыкающую косую черту. Например, https://contoso.communication.azure.com .
Введите эти значения в столбец Initial Value (Начальное значение) на экране Variables (Переменные). После входа нажмите кнопку Persist All (Сохранить все) над таблицей справа. При правильной настройке экран Postman должен выглядеть примерно так:
Дополнительные сведения о переменных см. в документации по Postman.
Создание скрипта, выполняемого перед запросом
Следующим шагом является создание скрипта, выполняемого перед запросом, в Postman. Скрипт, выполняемый перед запросом, — это скрипт, который выполняется перед каждым запросом в Postman и может изменять параметры запроса от вашего имени. Мы будем использовать его для подписывания HTTP-запросов, чтобы они могли быть разрешены Службами коммуникации Azure. Дополнительные сведения о требованиях к подписыванию см. в нашем справочном материале по проверке подлинности.
Postman программа что это
В этой статье поговорю про основы работы с Postman для начинающих тестировщиков. Сама я столкнулась с этим инструментом как раз на последнем проекте.
Расскажу, как с его помощью создавать простейшие автотесты и уменьшать объем рутины с помощью переменных.
Начнем с пары слов о том, что такое Postman. Это инструмент для работы с API, который позволяет тестировщику посылать запросы к сервисам и работать с их ответами. С его помощью можно протестировать бекэнд и убедиться, что он корректно работает.
Инструментов с аналогичным функционалом существует много. Я выбрала Postman, поскольку он самый популярный. Но у него есть и другие преимущества. Postman:
- интуитивно-понятен и простой в использовании, не требует какой-то сложной настройки или знания языков программирования;
- бесплатный;
- поддерживает разные API (REST, SOAP, GraphQL);
- расширяется под любые нужды с помощью Postman API;
- легко интегрируется в CI/CD с помощью Newman — консольной утилиты для запуска тестов;
- запускается на любых ОС;
- поддерживает ручное и автоматизированное тестирование;
- собрал вокруг себя большое комьюнити, где можно найти ответы на любые вопросы.
Тестировщику этот инструмент позволяет:
- отправлять запросы и получать ответы;
- сохранять запросы в папки и коллекции;
- изменять параметры запросов;
- изменять окружения (dev, test, production);
- выполнять автотесты, используя Collections runner, в том числе по расписанию;
- импортировать и экспортировать коллекции запросов и наборы тестов, чтобы обмениваться данными с коллегами.
Перейдем к сути.
На нашем проекте мы разрабатываем менеджер рекламных кампаний. У каждой кампании в нашей системе есть ряд полей — имя, описание, ID и креатив (реклама, которую видит пользователь). Для демонстрации возможностей Postman буду использовать запросы на создание и обновление кампании и креатива из “боевого” проекта.
Экспериментируем с запросом на обновление
Создадим самый простой запрос на обновление кампании.
Простейший запрос на обновление кампании
При его успешном выполнении мы получим ответ 200 OK.
Напишем самый простой автотест, который будет это проверять. Для этого в интерфейсе Postman переходим на вкладку Tests. Код с этой вкладки будет выполняться после получения ответа на запрос.
Код не обязательно писать с нуля. В Postman есть уже готовый список тестов для проверки API. Любой из них можно отредактировать под свои нужды для экономии времени.
Готовые скрипты (сниппеты) есть в списке справа. Там можно найти код для проверки всего ответа или его части, времени выполнения запроса и множества других вещей.
Список готовых скриптов справа
Выбираем сниппет, он добавляется на вкладку Tests. Этот код можно отредактировать — задать другое имя теста или ответ.
pm.test(“Status code is 200”, function () < pm.response.to.have.status(200); >);
Сохраняем код и отправляем запрос.
Результат можно найти на вкладке Test Results. Мы видим:
Результат выполнения теста
Давайте проверим, что тест действительно работает. Изменим код ответа на 400.
pm.test(“Status code is 200”, function () < pm.response.to.have.status(200); >);
Сохраним запрос еще раз запустим тест.
Вполне ожидаемо тест падает, ведь реальный ответ — 200 ОК:
Результат выполнения теста
Аналогично можно проверить, что в теле ответа содержится определенная строка. В нашем случае посмотрим, есть ли там название рекламной кампании, которое мы передавали в запросе на обновление данных.
Ищем соответствующий сниппет и правим его под свою задачу:
pm.test(“Body matches string”, function () < pm.expect(pm.response.text()).to.include(“Campaign TEST”); >);
Сохраняем и отправляем запрос. Видим, что тест выполнен успешно.
Как и в прошлом примере, мы можем проверить работоспособность теста, исправив искомую строку:
pm.test(“Body matches string”, function () < pm.expect(pm.response.text()).to.include(“Campaign TEST1”); >);
Искать строку можно не во всем теле ответа, а в конкретном поле. Для проверки, что название кампании присутствует именно в поле Name, отредактируем другой сниппет:
pm.test(“Your test name”, function () < var jsonData = pm.response.json(); pm.expect(jsonData.name).to.eql(“Campaign TEST”); >);
Для одного запроса можно создать несколько тестов. Например, так:
pm.test(“Status code is 200”, function () < pm.response.to.have.status(200); >); pm.test(“Body matches string”, function () < pm.expect(pm.response.text()).to.include(“Campaign TEST”); >); pm.test(“Campaign status check”, function () < var jsonData = pm.response.json(); pm.expect(jsonData.status).to.eql(“Draft”); >);
На вкладке Test Results мы увидим, что все три теста выполнены успешно:
Запуск автотестов с Collection runner
Collection runner запускает не отдельные тесты, а их коллекции.
Новую коллекцию можно создать с помощью значка + на закладке Collections (в каждой такой коллекции можно создать папку с тестами с помощью Add Folder).
Если создать несколько коллекций, выглядеть это будет примерно так:
Чтобы запустить Collection runner, нужно выбрать коллекцию и на открывшейся вкладке нажать Run. Запросы будут выполняться поочередно. После окончания выполнения можно увидеть все результаты:
По каждому запросу в выпадающем меню можно посмотреть подробные данные — на какой URL запрос был отправлен, какие данные в header и т.п.
Аналогично можно посмотреть тело и заголовок ответа. Но для этого необходимо включить логирование (включить галочку Save response перед запуском коллекции).
При запуске коллекции Collection runner позволяет задать количество итераций. Это очень удобно, особенно когда запросов много — тесты не придется запускать вручную.
Оставайтесь на связи.
Мы в соцсетях:
Также Postman умеет запускать коллекции по расписанию. Нажимаем на название коллекции, открываем меню Action и задаем расписание на вкладке Monitor collection.
Переменные в Postman
В ходе тестирования удобно использовать переменные.
Допустим, недавно почистили базу и для тестирования нам нужно ее заполнить — создать несколько рекламных кампаний с разными именами. Чтобы не делать это вручную, можно использовать динамические рандомные переменные.
Рандомных переменных в Postman много. Если при написании кода начать вводить парные фигурные скобки, Postman сам подскажет, какие из них доступны.
Подробнее про переменные можно почитать в документации к Postman.
Для нашего теста выберем $randomInt. Сохраним и отправим запрос.
Он выполняется успешно, кампания получает рандомное название.
Вместо $randomInt можно выбрать, допустим, рандомный месяц — $randomMonth.
Чтобы получать уникальные данные, точно так же можно вставлять переменные в header и URL.
Области видимости
Postman поддерживает несколько видов переменных, в зависимости от пространств и областей видимости. Идею хорошо иллюстрирует картинка из документации:
Области видимости переменных в Postman
Поддерживаются следующие типы переменных:
- Глобальные — переменные, которые не относятся ни к какому окружению, они доступны во всем рабочем пространстве, из всех окружений. Глобальные переменные могут использоваться для передачи данных между коллекциями, запросами и окружениями.
- Переменные коллекции доступны во всех запросах внутри одной коллекции.
- Переменные окружения изменяются в зависимости от выбранного окружения.
- Локальные переменные являются временными. Они доступны только внутри запроса и используются, когда нужно переписать переменные коллекции или какие-то глобальные значения.
- Переменные данных — файловые переменные. Я остановлюсь на них подробно далее.
Глобальные переменные не могут иметь дубликаты. А вот локальные переменные могут иметь одни и те же имена, но только если они находятся в разных окружениях. Если Postman встречается с двумя переменными с одинаковыми именами, высший приоритет будет у локальной переменной (она затрет глобальную).
Переменные окружения
Поговорим о переменных окружения. Они позволяют передавать данные из запроса в запрос внутри этого окружения.
Перед началом экспериментов создадим окружение. Для этого в левом меню надо выбрать Environments и нажать либо на плюсик, либо на Create a new environment. На открывшейся вкладке можно задать название окружения. Пусть это будет Environment token.
Отличный пример использования переменных окружения — передача токена авторизации. Если токен истекает, то тест падает с ошибкой 401. Во всех запросах, которые я отправляла до этого, свежие токены авторизации я получала и вставляла вручную (“за кадром” моего рассказа). Когда запросов всего несколько, это не сложно.
Но когда запросов много, проще реализовать это через переменную окружения. Для этого мы зададим переменную и присвоим ей соответствующее значение, а потом используем переменную во всех запросах.
Зададим в окружении Environment token переменную varBearerToken. В качестве начального значения подставим наш токен. Остается в header запросов заменить значение токена на переменную.
Как и с рандомными переменными, можно начать вводить двойные фигурные скобки. Поскольку Postman знает эту переменную (в данном окружении), он подскажет значение.
Если мы уберем Environment, Postman подсказок уже не предложит, поскольку вне своего окружения переменная недоступна. Нет окружения — нет и переменных окружения.
Точно также можно выполнять наши запросы на разных стендах. Чтобы в каждом запросе вручную не изменять URL, можно прописать стенд-попеременную. Пусть это будет varStage со значением по умолчанию test.
Аналогично можно было бы прописать dev и другие стенды.
Остается добавить эту переменную в URL. Как и в случае с токеном, Postman будет ее подсвечивать, только если выбрано то окружение, в котором она задана.
Окружение со всеми переменными можно пошарить коллегам через экспорт в файл json. Они смогут открыть его на своем рабочем месте в Postman.
Передача данных между запросами
Очень важная возможность для написания тестов — передача значений из запроса в запрос с помощью переменных окружения.
В предыдущем примере я создала переменную окружения varToken и в неё вручную приписала токен. Но вместо копирования токен можно получить в ответе на запрос авторизации и передать его в другие запросы.
Создадим новое окружение Environment Auth. Не будем на старте прописывать никаких переменных. Просто выберем это окружение и возьмем из списка сниппетов соответствующий скрипт. Прямо в нем объявим переменную varToken и присвоим ей значение токена (для этого парсим JSON ответа):
var jsonData = JSON.parse(responseBody); pm.environment.set(“varToken”, jsonData.data.token); console.log(jsonData); console.log(jsonData.data.token);
Для наглядности я добавила еще вывод переменных в консоль, чтобы видеть их значения.
Чистим консоль, запускаем. И видим результат — переменную jsonData и значение токена, которое присваиваем varToken.
Остается прописать переменную varToken в Header наших запросов на создание кампании.
Поскольку работаем мы внутри окружения Environment Auth, Postman о ней знает.
А теперь усложним пример. Допустим, мы хотим создать рекламную кампанию, выяснить ее ID, а затем обновить кампанию с этим ID.
Объявим еще одну переменную — varID. Для этого название переменной задаем в скрипте, там же присваиваем ей значение из ответа на запрос:
var jsonData = JSON.parse(responseBody); pm.environment.set(“varID”, jsonData.id); console.log(jsonData); console.log(jsonData.data.id);
Запускаем Collection runner и видим, что запросы работают.
Postman
Postman — это полнофункциональная программа для разработки API, используемая для продвинутых ПК, разработчиков, программистов и других ИТ-специалистов. Он предлагает различные инструменты для ускорения разработки API, от упрощения процессов до всех функций, таких как разработка запросов API с использованием документации, тестирования и параметров обмена. Автономное приложение обеспечивает полную совместимость с Windows, Linux и Mac и может быть установлено как отдельное приложение или расширение Chrome. Около 11 миллионов ИТ-программистов использовали приложение по всему миру. Вы можете напрямую получать доступ к данным на платформе с помощью API, предлагаемого приложением, и других важных функций, таких как тестирование собственных и сторонних API, сохранение истории, обнаружение ошибок и т. д.
Многозадачные инструменты и совместная работа
Получите надежную производительность и удобство для пользователей благодаря поддержке аспектов разработки API, поскольку приложение построено на эксклюзивном базовом уровне. Кроссплатформенное расширение позволяет отслеживать, документировать и совместно использовать API с помощью нескольких инструментов. Приложение можно настроить на «Коллекции» вашего собственного приложения. Он предлагает множество функций для разработчиков, поскольку они могут тестировать код, чтобы проверить правильную производительность своих проектов на странице.
Postman интуитивно понятный интерфейс
Интуитивно понятный интерфейс предлагает два типа тем; яркий и темный. Нет необходимости переделывать документацию и легко перемещаться по экранным элементам. Рабочий процесс прост: просто импортируйте коллекции API на свою рабочую станцию, просто дважды щелкнув, вы введете URL-адрес Swagger и передадите его на рабочую станцию приложения.
Он предлагает вариант синхронизации для синхронизации нескольких устройств. По сравнению с другими сетевыми инструментами, Postman имеет простой и понятный интерфейс, удобный даже для новичков. Он поддерживает несколько веб-браузеров, таких как Chrome, Safari, Firefox, Edge и так далее.
Postman Pro
Он превосходит все требования разработчиков API, такие как создание запросов, тестирование, сценарии предварительного запроса, переменные, среды и т. д., чтобы вы могли сделать свой рабочий процесс более плавным и быстрым. Вы можете воспользоваться Postman Pro с широким набором инструментов. Он работает с тем же пользовательским интерфейсом и использует эксклюзивный базовый технологический уровень для обеспечения надежной производительности. Про версию используют миллионы разработчиков в качестве одиночного разработчика, команды разработчиков и так далее по всему миру.
Процесс быстрой установки
Приложение было представлено просто как расширение Chrome, но с ростом популярности оно было опубликовано как отдельное приложение, которое обеспечивает полную совместимость со всеми основными операционными системами, такими как Windows, Linux, macOS и т. д. Вы можете легко установить его, выполнив шаги процедуры входа в систему, вы можете использовать существующую учетную запись Google или также создать новую учетную запись.
Что такое запрос API
Когда вы вводите что-то в «панель поиска» Google и нажимаете ввод, это запрос API. Можно легко объяснить, что запрос API может быть веб-адресом, поисковым запросом и другими вещами, требующими ответа от сервера. Приложение будет информировать вас о рабочем процессе API, способах взаимодействия и всех доступных данных без вставки кода.
Как обновить Postman
Эффективная и квалифицированная команда разработчиков по-прежнему занята созданием новых изменений, а также исправлением связанных с этим проблем. Вы получите уведомление от приложения о любом новом свежем или предстоящем обновлении. Просто нажмите на значок «Настройки» и откройте его, затем нажмите «Обновить», и на экране отобразится список обновлений. Вы можете выбрать необходимые обновления и коснуться опции «обновить», чтобы загрузить и установить последнее обновление. Перезапустите приложение и установите обновление, вы можете включить опцию автоматической загрузки для больших обновлений.
Заключительные слова
Postman — лучший вариант для опытных разработчиков, программистов и даже новичков. Это простой в использовании и простой инструмент для разработки API с высокой производительностью для разработки, тестирования, документации и проверки процесса. Вы можете завершить свою работу в кратчайшие сроки и легко сотрудничать с другими, чтобы делиться своими действиями. Вы можете скачать его бесплатно и попробовать множество потрясающих функций, не тратя ни копейки.
Источник: softmany.com