Postman руководство на русском

Время на прочтение
12 мин

Количество просмотров 534K

image

“Разработка API сложна, Postman делает её лёгкой” © Postdot Technologies, Inc

Когда видишь описание инструментов Postman — захватывает дух, просыпается чувство всевластия над своим будущим детищем. Кажется, что и взрощенные в прошлом «монстры» наконец-то падут перед тобой!

В этой статье мы расскажем о Postman и попробуем написать свой первый скрипт.

Postman

Основное предназначение приложения — создание коллекций с запросами к вашему API. Любой разработчик или тестировщик, открыв коллекцию, сможет с лёгкостью разобраться в работе вашего сервиса. Ко всему прочему, Postman позволяет проектировать дизайн API и создавать на его основе Mock-сервер. Вашим разработчикам больше нет необходимости тратить время на создание «заглушек». Реализацию сервера и клиента можно запустить одновременно. Тестировщики могут писать тесты и производить автоматизированное тестирование прямо из Postman. А инструменты для автоматического документирования по описаниям из ваших коллекций сэкономят время на ещё одну «полезную фичу». Есть кое-что и для администраторов — авторы предусмотрели возможность создания коллекций для мониторинга сервисов.

Введение

image
1 — коллекция, 2 — папка, 3 — запрос

Главные понятия, которыми оперирует Postman это Collection (коллекция) на верхнем уровне, и Request (запрос) на нижнем. Вся работа начинается с коллекции и сводится к описанию вашего API с помощью запросов. Давайте рассмотрим подробнее всё по порядку.

Collection

Коллекция — отправная точка для нового API. Можно рассматривать коллекцию, как файл проекта. Коллекция объединяет в себе все связанные запросы. Обычно API описывается в одной коллекции, но если вы желаете, то нет никаких ограничений сделать по-другому. Коллекция может иметь свои скрипты и переменные, которые мы рассмотрим позже.

Folder

Папка — используется для объединения запросов в одну группу внутри коллекции. К примеру, вы можете создать папку для первой версии своего API — «v1», а внутри сгруппировать запросы по смыслу выполняемых действий — «Order & Checkout», «User profile» и т. п. Всё ограничивается лишь вашей фантазией и потребностями. Папка, как и коллекция может иметь свои скрипты, но не переменные.

Request

Запрос — основная составляющая коллекции, то ради чего все и затевалось. Запрос создается в конструкторе. Конструктор запросов это главное пространство, с которым вам придётся работать. Postman умеет выполнять запросы с помощью всех стандартных HTTP методов, все параметры запроса под вашим контролем. Вы с лёгкостью можете поменять или добавить необходимые вам заголовки, cookie, и тело запроса. У запроса есть свои скрипты. Обратите внимание на вкладки «Pre-request Script» и «Tests» среди параметров запроса. Они позволяют добавить скрипты перед выполнением запроса и после. Именно эти две возможности делают Postman мощным инструментом помогающим при разработке и тестировании.

image
1 — вкладки с запросами, 2 — URL и метод, 3 — параметры запроса, 4 — параметры ответа

Скрипты

«Postman Sandbox» это среда исполнения JavaScript доступная при написании «Pre-request Script» и «Tests» скриптов. «Pre-request Script» используется для проведения необходимых операций перед запросом, например, можно сделать запрос к другой системе и использовать результат его выполнения в основном запросе. «Tests» используется для написания тестов, проверки результатов, и при необходимости их сохранения в переменные.

image
Последовательность выполнения запроса (из оф. документации)

Помимо скриптов на уровне запроса, мы можем создавать скрипты на уровне папки, и, даже, на уровне коллекции. Они называются также — «Pre-request Script» и «Tests», но их отличие в том, что они будут выполняться перед каждым и после каждого запроса в папке, или, как вы могли догадаться, во всей коллекции.

image
Последовательность выполнения запроса со скриптами папок и коллекций (из оф. документации)

Переменные

Postman имеет несколько пространств и областей видимости для переменных:

  • Глобальные переменные
  • Переменные коллекции
  • Переменные окружения
  • Локальные переменные
  • Переменные уровня данных

Глобальные переменные и переменные окружения можно создать, если нажать на шестеренку в правом верхнем углу программы. Они существуют отдельно от коллекций. Переменные уровня коллекции создаются непосредственно при редактировании параметров коллекции, а локальные переменные из выполняемых скриптов. Также существуют переменные уровня данных, но они доступны только из Runner, о котором мы поговорим позже.

image[image]
Приоритет пространств переменных (из оф. документации)

Особенностью переменных в Postman является то, что вы можете вставлять их в конструкторе запроса, в URL, в POST параметры, в Cookie, всюду, используя фигурные скобки в качестве плейсхолдера для подстановки.

image
{{domain}} и {{slack_incoming_webhook}} — переменные окружения DNS Checker будут заменены на значения во время выполнения запроса

Из скриптов переменные тоже доступны, но получить их поможет вызов стандартного метода встроенной библиотеки pm:

// получить глобальную переменную
pm.globals.get("variable_key");
// получить переменную из окружения
pm.environment.get("variable_key");
// получить переменную из любого пространства согласно приоритету
pm.variables.get("variable_key");

Collection Runner

Предназначен для тестирования и выполнения всех запросов из коллекции или папки, на ваш выбор. При запуске можно указать количество итераций, сколько раз будет запущена папка или коллекция, окружение, а также дополнительный файл с переменными. Стоит упомянуть, что запросы выполняются последовательно, согласно расположению в коллекции и папках. Порядок выполнения можно изменить используя встроенную команду:

// Следующим выполнится запрос с названием "Create order",
postman.setNextRequest('Create order');

После выполнения всех запросов формируется отчет, который покажет количество успешных и провальных проверок из скриптов «Tests».

image
Collection Runner

Console

Пользуйтесь консолью для отладки ваших скриптов, и просмотра дополнительной информации по запросам. Консоль работает, как во время запуска одного запроса, так и во время запуска пакета запросов через Runner. Чтобы её открыть, найдите иконку консоли в нижнем левом углу основного экрана приложения:

image

Практика

Так как создание коллекций и запросов в конструкторе не должно вызвать затруднений, практическую часть посвятим написанию скриптов, и рассмотрим как создать цепочку запросов с тестами. Перед началом создайте новую коллекцию, назовите её “Habra”, затем создайте новое окружение под названием «Habra.Env»

Шаг 1

Создайте новый запрос, в качестве URL укажите https://postman-echo.com/get?userId=777, а метод оставьте GET. Здесь и далее для простоты и удобства мы будем использовать echo-сервер любезно предоставленный разработчиками Postman. Сохраните запрос в коллекцию «Habra» и назовите “Get user id”, он будет имитировать получение идентификатора пользователя от сервера. Перейдите на вкладку «Tests» и напишите следующий код:

// Тестируем статус ответа и формат
pm.test("Status is ok, response is json", function () {
    pm.response.to.be.ok; // проверка статуса
    pm.response.to.be.json; // проверка формата
});

try {
    // сохраняем userId из json ответа в переменную окружения
    pm.environment.set("userId", pm.response.json().args.userId);
} catch(e) {
    // выводим исключение в консоль
    console.log(e);
}

С помощью этого скрипта мы проверили статус и формат ответа, а также сохранили полученный из ответа идентификатор пользователя в переменную окружения для последующего использования в других запросах. Чтобы проверить работу нашего теста, запустите запрос. В панели информации об ответе, во вкладке «Tests» вы должны увидеть зелёный лейбл “PASS”, а рядом надпись “Status is ok, response is json”.

Шаг 2

Теперь давайте попробуем вставить идентификатор нашего пользователя в json запрос. Создайте новый запрос, в качестве URL укажите https://postman-echo.com/post, выберите метод POST, установите тип для тела запроса raw — application/json, а в само тело вставьте:

{"userId": {{userId}}, "username": "Bob"}

Сохраните запрос в нашу коллекцию, и назовите «Update username», он будет запрашивать импровизированную конечную точку для обновления username пользователя. Теперь при вызове запроса вместо {{userId}} система автоматически будет подставлять значение из переменной окружения. Давайте проверим, что это действительно так, и напишем небольшой тест для нашего нового запроса:

// тестируем статус ответа и формат
pm.test("Status is ok, response is json", function () {
    pm.response.to.be.ok;
    pm.response.to.be.json;
});

// проверим, что userId из окружения равен userId из ответа
pm.test("userId from env is equal to userId from response", function () {
    pm.expect(parseInt(pm.environment.get("userId"))).to.equal(
        pm.response.json().data.userId
    );
});

В нашем новом тесте мы сравниваем полученный от сервера userId с тем, что хранится у нас в переменной окружения, они должны совпадать. Запустите запрос и убедитесь, что тесты прошли. Хорошо, двигаемся дальше.

Шаг 3

Вы могли заметить, что два тестовых скрипта имеют одинаковую проверку формата и статуса:

pm.test("Status is ok, response is json", function () {
    pm.response.to.be.ok;
    pm.response.to.be.json;
});

Пока мы не зашли слишком далеко, давайте исправим эту ситуацию и перенесем эти тесты на уровень коллекции. Откройте редактирование нашей коллекции, и перенесите проверку формата и статуса во вкладку «Tests», а из запросов их можно удалить. Теперь эти проверки будут автоматически вызываться перед скриптами «Tests» для каждого запроса в коллекции. Таким образом мы избавились от копирования данной проверки в каждый запрос.

Шаг 4

Мы научились записывать и получать переменные окружения, настало время перейти к чему-то потяжелее. Давайте воспользуемся встроенной библиотекой tv4 (TinyValidator) и попробуем проверить правильность схемы json объекта. Создайте новый запрос, в качестве URL используйте https://postman-echo.com/post, установите метод в значение POST, для тела запроса укажите raw — application/json, и вставьте в него:

{
    "profile" : {
        "userId": {{userId}},
        "username": "Bob",
        "scores": [1, 2, 3, 4, 5],
        "age": 21,
        "rating": {"min": 20, "max": 100}
    }
}

После запуска запроса echo-сервер должен вернуть нам нашу json модель в качестве ответа в поле «data», таким образом мы имитируем работу реального сервера, который мог бы прислать нам информацию о профиле Боба. Модель готова, напишем тест, проверяющий правильность схемы:

// получаем профиль из ответа
var profile = pm.response.json().data.profile;

// описываем схему модели
var scheme = {
    // указываем тип объекта
    "type": "object",
    // указываем обязательные свойства
    "required": ["userId", "username"],
    // описываем свойства
    "properties": {
        "userId": {"type": "integer"},
        "username": {"type": "string"},
        "age": {"type": "integer"},
        // описываем массив
        "scores": {
            "type": "array",
            // тип элементов
            "items": {"type": "integer"}
        },
        // описываем вложенный объект
        "rating": {
            "type": "object",
            "properties": {
                "min": {"type": "integer"},
                "max": {"type": "integer"}
            }
        }
    }
};

pm.test('Schema is valid', function() {
    // валидируем объект profile с помощью правил из scheme
    var isValidScheme = tv4.validate(profile, scheme, true, true);

    // ожидаем, что результат валидации true
    pm.expect(isValidScheme).to.be.true;
});

Готово, мы провалидировали схему объекта profile. Запустите запрос и убедитесь, что тесты проходят.

Шаг 5

У нас получился небольшой путь из 3-х запросов и нескольких тестов. Настало время полностью его протестировать. Но перед этим, давайте внесем небольшую модификацию в наш первый запрос: замените значение “777” в URL на плейсхолдер “{{newUserId}}”, и через интерфейс добавьте в окружение «Habra.Env» переменную “newUserId” со значением “777”. Создайте файл users.json на своём компьютере и поместите туда следующий json массив:

[
    {"newUserId": 100},
    {"newUserId": 200},
    {"newUserId": 300},
    {"newUserId": 50000}
]

Теперь запустим Runner. В качестве «Collection Folder» выберем «Habra». В качестве «Environment» поставим «Habra.Env». Количество итераций оставляем 0, а в поле «Data» выбираем наш файл users.json. По этому файлу «Collection Runner» поймет, что ему нужно совершить 4 итерации, и в каждой итерации он заменит значение переменной «newUserId» значением из массива в файле. Если указать количество итераций больше, чем количество элементов в массиве, то все последующие итерации будут происходить с последним значением из массива данных. В нашем случае после 4 итерации значение «newUserId» всегда будет равно 50000. Наш “Data” файл поможет пройти весь наш путь с разными newUserId, и убедиться, что независимо от пользователя все выполняется стабильно.

Запускаем наши тесты нажатием «Run Habra». Поздравляем вы успешно создали коллекцию и протестировали наш импровизированный путь с помощью автотестов!

image
Тестирование коллекции «Habra»

Теперь вы знаете, как создавать скрипты и вполне можете написать парочку тестов для своего проекта.

Отдельно хочу отметить, что в реальном проекте мы не держим все запросы в корне коллекции, а стараемся раскладывать их по папкам. Например, в папке «Requests» мы складываем все возможные запросы описывающие наш API, а тесты храним в отдельной папке «Tests». И когда нам нужно протестировать проект, в «Runner» запускаем только папочку «Tests».

  • Коллекция, окружение и данные из примера

Полезно знать

В завершении приведем основные команды, которые вам могут понадобиться во время написания скриптов. Для лучшего усвоения, попробуйте поиграться с ними самостоятельно.

Установка и получение переменных

// глобальные переменные
pm.globals.set(“key”, “value”);
pm.globals.get(“key”);

// переменные окружения
pm.environment.set(“key”, “value”);
pm.environment.get(“key”);

// локальные переменные
pm.variables.set(“key”, “value”);
pm.variables.get(“key”); // если нет локальной, будет искать на уровне выше

Тестирование или asserts

// с использованием анонимной функции и специальных assert конструкций
pm.test(“Название теста”, function () {
    pm.response.to.be.success;
    pm.expect(“value”).to.be.true;
    pm.expect(“other”).to.equal(“other”);
});
// с использованием простого условия и массива tests
tests[“Название теста”] = (“a” != “b”);
tests[“Название теста 2”] = true;

Создание запросов

// пример get запроса
pm.sendRequest(“https://postman-echo.com/get”, function (err, res) {
    console.log(err);
    console.log(res);
});
// пример post запроса
let data = {
    url: “https://postman-echo.com/post”,
    method: “POST”,
    body: { mode: “raw”, raw: JSON.stringify({ key: “value” })}
};

pm.sendRequest(data, function (err, res) {
    console.log(err);
    console.log(res);
});

Получение ответа для основного запроса

pm.response.json(); // в виде json
pm.response.text(); // в виде строки
responseBody; // в виде строки

Ответ доступен только во вкладке “Tests”

Работа со встроенными библиотеками

Документация регламентирует наличие некоторого количества встроенных библиотек, среди которых — tv4 для валидации json, xml2js конвертер xml в json, crypto-js для работы с шифрованием, atob, btoa и др.

// подключение xml2js
var xml2js = require(“xml2js”);
// преобразование простого xml в json объект
xml2js.parseString("<root>Hello xml2js!</root>", function(err, res) {
    console.log(res);
});

Некоторые из библиотек, например, как tv4 не требуют прямого подключения через require и доступны по имени сразу.

Получение информации о текущем скрипте

pm.info.eventName; // вернет test или prerequest в зависимости от контекста
pm.info.iteration; // текущая итерация в Runner
pm.info.iterationCount; // общее количество итераций
pm.info.requestName; // название текущего запроса
pm.info.requestId; // внутренний идентификатор запроса

Управление последовательностью запросов из скрипта

Стоит отметить, что данный метод работает только в режиме запуска всех скриптов.

// установить следующий запрос
postman.setNextRequest(“Название запроса”); // по названию
postman.setNextRequest(ID); // по идентификатору
// остановить выполнение запросов
postman.setNextRequest(null);

После перехода на следующий запрос Postman возвращается к линейному последовательному выполнению запросов.

Создание глобального хелпера

В некоторых случаях вам захочется создать функции, которые должны быть доступны во всех запросах. Для этого в первом запросе в секции “Pre-request Script” напишите следующий код:

// создаем и сохраняем хелпер для глобального использования
pm.environment.set("pmHelper", function pmHelper() {
    let helpers = {};

    helpers.usefulMethod = function() {
        console.log(“It is helper, bro!”);
    };

    return helpers;
} + '; pmHelper();');

А в последующих скриптах пользуемся им так:

// получаем объект
var pmHelper = eval(pm.environment.get("pmHelper"));
// вызываем наш метод
pmHelper.usefulMethod();

Это лишь небольшой список полезных команд. Возможности скриптов гораздо шире, чем можно осветить в одной статье. В Postman есть хорошие «Templates», которые можно найти при создании новой коллекции. Не стесняйтесь подглядывать и изучать их реализацию. А официальная документация содержит ответы на большинство вопросов.

  • Официальный сайт
  • Документация по Postman
  • Список встроенных библиотек

Заключение

Основные плюсы, которые подтолкнули нас к использованию Postman в своём проекте:

  • Наглядность – все запросы всегда под рукой, мануальное тестирование во время разработки становится легче
  • Быстрый старт – вовлечение нового игрока в команду, будь то программист или тестировщик, проходит легко и быстро
  • Тесты – возможность писать тесты для запросов, а потом быстро составлять из них, как из пазлов, различные варианты и пути жизни приложения
  • Поддержка CI — возможность интегрировать тесты в CI с помощью newman (об этом будет отдельная статья)

Среди минусов можно выделить:

  • Редактирование коллекции привязано к Postman, т. е. для изменений потребуется сделать импорт, отредактировать, а затем сделать экспорт в репозиторий проекта
  • Так как коллекция лежит в одном большом json файле, Review изменений практически невозможно

У каждого проекта свои подходы и взгляды на тестирование и разработку. Мы увидели для себя больше плюсов, чем минусов, и поэтому решили использовать этот мощный инструмент, как для тестирования, так и для описания запросов к API нашего проекта. И по своему опыту можем сказать, даже, если вы не будете использовать средства тестирования, которые предоставляет Postman, то иметь описание запросов в виде коллекции будет весьма полезно. Коллекции Postman это живая, интерактивная документация к вашему API, которая сэкономит множество времени, и в разы ускорит разработку, отладку и тестирование!

P.S.:
Основной функционал Postman бесплатен и удовлетворяет ежедневным нуждам, но есть некоторые инструменты с рядом ограничений в бесплатной версии:

  • Postman API – позволяет получать доступ к данным вашего аккаунта, добавлять, удалять и обновлять коллекции, запросы, и другую информацию программно, напрямую через API. Вы можете обратиться к нему 1000 раз в месяц.
  • Mock сервер – позволяет развернуть заглушки для вашего API на серверах разработчиков Postman. Доступно 1000 запросов в месяц.
  • Api Monitoring – позволяет создавать коллекции для мониторинга и запуска их по расписанию с серверов разработчика Postman. Система мониторинга сделает для вас не больше 1000 запросов в месяц
  • Api Documentation – позволяет публиковать автоматически сгенерированную документацию на серверах приложения Postman. Ограничение 1000 просмотров в месяц

Содержание

  1. Что такое API?
  2. Что такое Postman?
  3. Зачем использовать Postman?
  4. Установка Postman
  5. Особенности Postman
  6. Как пользоваться Postman?
  7. Основные сущности Postman: запросы, коллекции и окружения
  8. Тестирование GET-запросов
  9. Тестирование POST-запросов
  10. Параметризация запросов
  11. Создание тестов в Postman
  12. Запуск коллекций с помощью Collection Runner
  13. Запуск коллекций с помощью Newman

В этом большом гайде мы разберем тестирование API с помощью Postman. Он покроет большинство сценариев использования этой программы в вашей повседневной работе.

Давным-давно Postman стартовал как расширение для Google Chrome. Сейчас это полноценное нативное приложение, доступное на Windows, Linux и MacOS.

Что такое API?

API — сокращение от Application Programming Interface (программный интерфейс приложения). API — набор правил, протоколов и инструментов для взаимодействия между приложениями. Говоря простым языком, API — интерфейс, который определяет, как одна программа должна взаимодействовать с другой программой. Как правило, представляет собой набор функций, которые могут быть вызваны другой программой.

Что такое Postman?

Postman — приложение для работы с API. Это популярный API клиент, который позволяет разрабатывать, тестировать и документировать API.

Как тестировщики, с помощью Postman мы можем отсылать HTTP/s запросы к сервисам и получать от них ответы. С помощью такого подхода можно протестировать бэкенд сервисы и убедиться, что они корректно работают.

Зачем использовать Postman?

Сегодня Postman — супер-популярный инструмент. Им пользуются более 8 миллионов разработчиков и тестировщиков. И вот почему:

  • Бесплатный. Postman — бесплатный инструмент.
  • Простой в использовании. Очень просто начать пользоваться — Postman интуитивно понятный. Уже через несколько минут после скачивания и установки вы сможете отправить ваш первый запрос.
  • Поддерживает разные API. С помощью Postman можно выполнять разные типы запросов к любым API (REST, SOAP, GraphQL (по тестированию GraphQL c помощью Postman у нас есть отдельная статья)
  • Расширяемый. Postman можно настроить под ваши конкретные нужды с помощью Postman API.
  • Интегрируемый. Можно легко интегрировать наборы тестов в ваш любимый CI/CD инструмент с помощью Newman (CLI collection runner — позволяет запускать Postman-коллекции в командной строке)
  • Имеет большое комьюнити. Postman очень популярный и, как следствие, имеет большое комьюнити, которое подскажет ответы на большинство вопросов.

Установка Postman

Установка подробно описана в отдельном гайде. Найти его можно здесь (! на английском)

После того, как Postman установлен, можно переходить к тестированию API.

Postman отличный инструмент для тестирования API для тех, кто не хочет или не может писать тесты вручную (в IDE на языке программирования, используемом для разработки приложения).

Особенности Postman

Ниже мы перечислим только некоторые из особенностей Postman:

  • Простой в использовании API клиент
  • Функциональный и приятный UI.
  • Может использоваться как для ручного, так и для автоматизированного тестирования API.
  • Поддерживает интеграции с другими инструментами (например, поддерживает Swagger и RAML)
  • Может быть запущен в Windows, Linux, MacOS.
  • Не требует знания языков программирования.
  • Предоставляет возможность легко экспортировать коллекции запросов, наборы тестов. Можно легко обмениваться этими данными с коллегами.
  • Интегрируется с CI/CD инструментами (например, с Jenkins, TeamCity и т.п.)
  • API Posman-a подробно документирован.
  • Позволяет выполнять API автотесты.

Больше информации о Postman можно найти на официальном сайте: https://www.getpostman.com/

Цена: Бесплатно или 21 доллар за пользователя в месяц.

Postman — freemium-интсрумент. Но бесплатной версии более, чем достаточно, чтобы проводить базовое тестирование API.

Как пользоваться Postman

Для начала, давайте подробно рассмотрим интерфейс. Мы сознательно будем рассматривать английскую версию (и рекомендуем использовать именно ее):

Рабочая область Postman

Рабочая область Postman
  1. New: С помощью этой кнопки можно создать новый запрос (Request), коллекцию (Collection) или окружение (Environment).
  2. Import: С помощью этой кнопки можно импортировать коллекцию или окружение. По нажатию откроется окно, где вы сможете выбрать одну из нескольких опций для импорта: импорт из файла, папки или по ссылке. Также можно просто вставить данные для импорта в текстовое поле.
  3. Runner: По нажатию на кнопку запускается Collection Runner, который выполняет коллекции запросов.
  4. Open New: По нажатию открывается новое окно Postman или новое окно запуска коллекций.
  5. My Workspace: Моя рабочая область. С помощью этой кнопки можно создать новую рабочую область (workspace). Рабочая область предоставляет общий контекст для работы с API. Может использоваться для совместной работы внутри команды (ее можно расшарить с коллегами).
  6. Invite: С помощью этой кнопки можно пригласить других членов команды для совместной работы внутри рабочей области (workspace-а)
  7. History: Все запросы и ответы попадают во вкладку «History» (История). Это позволяет вернуться к предыдущим запросам.
  8. Collections: В этой вкладке хранятся коллекции запросов. Коллекции используются для группировки запросов по каким-либо признакам.
  9. Request Tab: Вкладка запроса. Название вкладки по умолчанию — Untitled Project. Хорошая практика — называть вкладку по названию запроса.
  10. HTTP Request: С помощью этого выпадающего списка можно выбрать тип запроса: GET, POST, PUT, PATCH, DELETE и т.п.
  11. Request URL: URL API запроса.
  12. Save: По нажатию на кнопку Save можно сохранить запрос (или перезаписать, если запрос уже был сохранен ранее)
  13. Params: Параметры, необходимые для выполнения запроса.
  14. Authorization: API используют авторизацию, чтобы убедиться, что клиент имеет доступ к запрашиваемым данным. В этой секции описываются параметры авторизации: например, username, password, bearer-токен и т.п.
  15. Headers: Для работы с некоторыми API с каждым запросом необходимо отправлять специальные хедеры. Это нужно для того, чтобы добавить дополнительные данные о типе операции, которую вы хотите провести. Хедеры можно указать в этой секции.
  16. Body: В этой вкладке указываются данные, которые должны быть отправлены вместе с запросом.
  17. Pre-request Script: Pre-request скрипты пишутся на JavaScript и выполняются перед отправкой запросов. Используются для того, чтобы провести какие-то действия прямо перед тем, как отправить запрос (например, добавить timestamp или какие-то вычисляемые данные в ваши запросы)
  18. Tests: Во вкладке Tests находятся скрипты, которые выполняются во время запроса. Тесты позволяют проверить API и убедиться, что все работает так, как это было задумано.

Основные сущности Postman: запросы, коллекции и окружения

Перед тем, как приступить непосредственно к тестированию, давайте рассмотрим основные сущности, которыми оперирует Postman:

  1. Запросы
  2. Коллекции
  3. Окружения

1. Запросы (Requests)

Запрос представляет собой комбинацию URL, хедеров и Body (тела запроса). Postman позволяет сохранять запросы и использовать их в будущем там, где вам нужно.

Чтобы создать новый запрос, нажмите New — Request

Postman

Postman

Postman

Как мы писали выше, Postman позволяет делать запросы к API. С помощью API-запроса можно получать и отправлять данные какому-либо бэкенд-сервису.

Для каждого API-запроса нужно выбрать HTTP-method.

Что такое HTTP?

HTTP — сокращение от HyperText Transfer Protocol (протокол передачи гипертекста). Протокол используется для общения клиента и сервера. Клиентом, к примеру, может быть браузер (в нашей статье в качестве клиента используется Postman).

После отправки клиентом HTTP-запроса, сервер возвращает ответ. Ответ сервера содержит метаданные о статусе и запрашиваемый контент.

Наиболее распространенные типы HTTP-запросов:

  1. GET: GET-запросы используются для получения данных от API.
  2. POST: POST-запросы используются для отправки новых данных API.
  3. PUT: PUT-запросы используются для обновления уже существующих данных.
  4. PATCH: PATCH-запросы (как и PUT) используются для обновления уже существующих данных. Разница в том, что с помощью PATCH запросов можно обновить несколько записей за раз.
  5. DELTE: DELETE-запросы используются для удаления существующих данных.

Далее в статье мы рассмотрим, как создавать и отправлять запросы разных типов с помощью Postman.

2. Коллекции (Collections)

Коллекции представляют собой группы запросов. Вы можете думать о коллекциях как о папках, в которых лежат запросы.

Как создать коллекцию в Postman:

Нажмите New — Collection

Postman

Введите имя (Name) и описание (Description) коллекции, после этого нажмите кнопку Create:

Postman

Коллекция может содержать любое число запросов. Запустить выполнение коллекции можно двумя способами:

  1. с помощью Collection Runner
  2. c помощью Newman

Далее мы рассмотрим оба этих способа.

3. Окружение (Environments)

Окружения в Postman позволяют запускать запросы и коллекции, используя разные наборы данных. Например, мы можем создавать разные окружения в Postman для Dev, QA и Production серверов. В каждом из окружений будут свои собственные настройки: например, URL, auth token-ы и пароли, API-ключи и т.п. Окружения представляют собой наборы пар «ключ-значение».

Чтобы создать новое окружение (Environment), нажмите New — Environment

Postman

Postman

Мы рассмотрим работу с окружениями далее в статье.

Тестирование GET-запросов

Повторимся, GET-запросы используются для получения данных с сервера. GET-запросы не меняют состояние данных на сервере (не добавляют, не удаляют и не изменяют данные).

Для обучения мы будем использовать простой открытый API: http://dummy.restapiexample.com/api/v1/employees

Давайте отправим GET-запрос с помощью Postman:

Открываем Postman

Мы рекомендуем завести аккаунт и использовать его для входа (чтобы сохранять запросы, коллекции и окружения для использования в будущем).

Шаг 1: Открываем новую вкладку, чтобы создать запрос (нажимаем на «+»):

Postman

Шаг 2: Создаем GET-запрос:

  1. Задаем тип запроса — GET
  2. Задаем request URL — https://jsonplaceholder.typicode.com/users
  3. Нажимаем на кнопку SEND, чтобы выполнить запрос.
  4. Вы увидите 200 OK в результате, если запрос выполнится успешно. Бывают случаи, когда GET-запросы выполняются с ошибками (например, при неправильном URL, некорректными авторизационными данными или из-за ошибок на стороне сервера)

После выполнения запроса вы должны будете увидеть данные от сервера во вкладке Body.

На скриншоте ниже вы видите код ответа сервера (Status: 200 OK), время выполнения запроса (Time: 1700ms) и размер ответа (Size: 1.62 KB)

По наведению на Time и Size появляется всплывающее окно с подробной информацией.

Время ответа сервера (Response Time)

Postman

Размер ответа (Response Size)

Postman

Куки (Cookies): Здесь можно увидеть информацию о куках, возвращаемых сервером

Postman

Хедеры ответа от сервера (Response headers)

Postman

Тестирование POST-запросов

POST-запросы используются для отправки новых данных на сервер. Давайте попробуем с помощью POST-запроса добавить нового пользователя. Для этого мы отправим информацию о новом пользователе в теле POST-запроса.

  1. Задаем тип запроса — POST
  2. Задаем request URL — https://jsonplaceholder.typicode.com/users
  3. Нажимаем на вкладку Body, выбираем «Raw» — JSON. Вставляем данные о пользователе из сниппета ниже:
{
    "id": 11,
    "name": "Rajkumar SM",
    "username": "stm",
    "email": "user@testengineer.ru",
    "address": {
      "street": "Gagarina",
      "suite": "31",
      "city": "Moscow",
      "zipcode": "600007",
      "geo": {
        "lat": "10.0000",
        "lng": "80.0000"
      }
    },
    "phone": "1-2345-6-7890",
    "website": "testengineer.ru",
    "company": {
      "name": "testengineer.ru",
      "catchPhrase": "website for QA engineers",
      "bs": "real-time tutorials"
    }
}

После этого наживаем кнопку SEND и отправляем POST-запрос.

Примечание: для проверки корректности вашего json можно использовать Jsonformatter

Postman

  1. Вы увидите 201 Created message (как на скриншоте ниже), если запрос выполнился успешно.
  2. Данные, отправленные с помощью POST-запроса будут показаны во вкладке Body

Postman

Точно так же, как и POST, отправляются PUT, PATCH и DELETE запросы.

Примечание: во время тестирования, для каждого запроса проверяйте возвращаемый результат, код ответа сервера и время ответа сервера. И не забывайте про негативные тесты!

Параметризация запросов

Параметризация — одна из самых полезных особенностей Postman.

Часто необходимо выполнить один и тот же запрос на разных наборах данных. С помощью параметризации, можно использовать переменные при выполнении запросов.

В Postman, параметры создаются с помощью двойных скобок: {{test}}.

Например, наш base URL — https://testengineer.ru и мы сохраняем это значение в переменной с именем base_url. В этом случае, мы можем обратиться к этой переменной из запроса, написав {{base_url}}. Для того, чтобы отправить запрос на этот URL, мы подставим эту переменную в запрос. Выглядеть это будет так: {{base_url}}/get?customers=new. Запрос будет отправлен на https://testengineer.ru/get?customers=new

Шаг 1: Меняем тип HTTP-запроса на GET и вводим URL:

Postman

Шаг 2: Меняем URL на параметр {{url}}. После этого URL запроса должен быть таким: {{url}}/users

Postman

Шаг 3: Теперь нам нужно создать переменную окружения, чтобы использовать ее в качестве параметра. Для этого нажимаем на кнопку с глазом и кликаем на Edit (редактировать), чтобы создать глобальную переменную и затем использовать ее в коллекциях.

Postman

Шаг 4: В окне создания переменной задаем имя (именем будет url) и значение (значением будет https://jsonplaceholder.typicode.com). После этого нажимаем Save (Сохранить)

Postman

Шаг 5: Возвращаемся к GET-запросу и нажимаем Send (отправить)

Если все сделано правильно, значение переменной, которую мы создали, будет подставлено вместо ее имени и запрос выполнится успешно.

Создание тестов в Postman

Тесты в Postman позволяют убедиться, что API работает так, как этого от него ожидают.

Давайте начнем с написания простого теста.

Шаг 1: Возвращаемся к GET-запросу, который мы создали ранее и переключаемся во вкладку Tests (Тесты). В секции сниппетов нажимаем на сниппет «Status code: Code is 200». В окне теста появится скрипт. Этот скрипт будет проверять, что запрос возвращает код ответа 200.

Postman

Шаг 2: Нажмите кнопку Send (Отправить). В нижней части окна вы увидите результат выполнения теста (в нашем случае он выполнился успешно).

Postman

Шаг 3: Давайте добавим еще один тест. В этот тесте мы будем сравнивать полученный результат с ожидаемым. Чтобы это сделать, выбираем сниппет с названием «Response body:JSON value check». Давайте проверим, что пользователь с именем Leanne Graham имеет userid 1.

Postman

Шаг 4: Заменим название теста на что-то более понятное: вместо «Your test name» напишем «Check if Leanne Graham has the userid 1». Также заменим jsonData.value на jsonData[0].name (т.к. jsonData представляет собой массив, а массивы начинаются с 0):

Postman

Код теста будет выглядеть следующим образом:

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: Нажимаем Send (Отправить)

Postman

Запуск коллекций с помощью Collection Runner

Давайте запустим коллекцию с помощью Collection Runner.

Шаг 1: Нажимаем на кнопку «Runner» (находится рядом с кнопкой Import)

Postman

Шаг 2: Должна будет открыться следующая страница:

Postman

Разберем основные элементы:

2 — Resent Runs: Все предыдущие запуски

3 — Environment: Окружение. Если вы хотите запустить коллекцию в конкретном окружении, вы можете выбрать его в этом поле.

4 — Iterations: Количество итераций

5 — Delay: Задержка. Указывается в миллисекундах. Выполнение тестов без задержки может вызвать ошибки, поэтому всегда указывайте небольшую задержку.

7 — Start Run: Кнопка для запуска коллекции

Шаг 3: В этом окне добавим коллекцию для запуска. Выбираем нашу коллекцию тестов, устанавливаем параметр Iterations в 2, delay в 2500ms и нажимаем кнопку запуска.

Postman

Шаг 4: После выполнения откроется отчет. В нашей коллекции были GET и POST запросы, но тесты мы добавляли только для GET-запроса. Поэтому в отчете рядом с POST-запросом показывается текст «This request doesn’t have any tests.» (для этого запроса нет тестов)

Postman

Запуск коллекций с помощью Newman

Для того, чтобы запустить коллекции с помощью Newman, делаем следующее:

Шаг 1: Устанавливаем node.js. Сделать это можно по ссылке

Шаг 2: Открываем командную строку и выполняем команду npm install -g newman

Шаг 3: После установки newman заходим в Postman. В списке коллекции находим нашу коллекцию, нажимаем на три точки и выбираем Export (Экспортировать)

Postman

Шаг 4: В появившемся окне выбираем «Export Collection as Collection 2.1 (Recommended)» и нажимаем Export.

Postman

Шаг 5: Выбираем папку, в которую экспортировать коллекцию и нажимаем Save. Рекомендуем создать отдельную папку для Postman-тестов. После нажатия на Save, коллекция будет экспортирована в выбранную папку.

Шаг 6: Для корректного запуска нам понадобится экспортировать и окружение. Для этого нажимаем на кнопку с глазом и выбираем опцию Download as JSON. Выбираем папку, в которую экспортировать окружение и нажимаем Save. Рекомендуем экспортировать окружение в ту же папку, в которую была экспортирована коллекция.

Postman
Postman

Шаг 7: Теперь, когда мы экспортировали коллекцию и окружения в папку, возвращаемся в командную строку и меняем директорию на ту, где находятся коллекция и окружение.

Например:

cd C:UserstestengineerDesktopPostman

Шаг 8: Запускаем коллекцию с помощью команды:

newman run PostmanTestCollection.postman_collection.json -e Testing.postman_globals.json

После выполнения коллекции, появятся результаты выполнения тестов.

Заключение

В этом гайде по Postman мы постарались разобрать базовые темы. Мы надеемся, вы научились создавать и отправлять просты запросы, проверять ответы сервера, создавать простые тесты. Узнали, как выполнять коллекций с помощью Collection Runner и Newman. В следующих статьях мы разберем продвинутые возможности Postman.

Программа Postman предназначена для тестирования работы API, а также для отправки запросов POST и GET. В отличие от похожей утилиты curl, она имеет графический интерфейс, поэтому легко осваивается даже новичками. 

Скачать ее можно с официального сайта – есть дистрибутивы для Windows, macOS и Linux. На последней платформе есть возможность установки утилиты напрямую из Центра приложений. В любом случае использование начинается с регистрации бесплатного аккаунта.

Программа ПостманКак тестировать API

Тестирование интерфейса API проводится путем анализа точности выходных данных в зависимости от подаваемых при входном запросе. Этим и занимается Postman: он составляет и отправляет их на указанные URL, получает обратно и сохраняет в базе данных. При желании возможно сохранение типовых запросов в коллекции (для быстрого доступа) и создание для них разного окружения.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Интерфейс приложения Postman

Главное окно программы разделено на четыре области. Разделение на блоки идет по функционалу, что заметно упрощает настройку и управление. Если опыта работы с такими утилитами нет, рекомендуется не трогать непонятные пункты, а пользоваться только простыми (их мы и рассмотрим).

Интерфейс приложения Postman

Описание меню:

  1. Верхняя панель – здесь расположены основные настройки программы.
  2. Боковая панель – сюда выделены запросы, выполненные ранее или сохраненные в качестве «избранного».
  3. Панель вкладок – инструмент переключения между разными запросами.
  4. Рабочая область – все базовые настройки отправленного запроса, перечень возвращаемых по нему данных.

Выполнение запроса

Выполнение простого запроса, без сохранения в коллекции, осуществляется кликом по кнопке со значком <+>. В результате откроется новая вкладка, где есть возможность выбрать тип запроса (GET или POST) и внести домен, который будет открываться. Остается нажать на кнопку Send, которая и запустит процедуру проверки.

Выполнение запроса в Postman

В нижней части страницы появится код страницы (HTML). Здесь имеется несколько вкладок:

  1. Body – данные, содержащиеся в теле запроса.
  2. Cookie – информация, записанная сервером.
  3. Headers – заголовки, которые были возвращены.

На первой вкладке, где отображается тело запроса, есть выбор нескольких вариантов отображения. Так, Pretty интересна для получения JSON-данных – программа отформатирует их в достаточно удобном формате. Если выбрать режим Raw, информация будет представлена «как есть», без каких-либо изменений. Вкладка Preview отображает сайт в том виде, в котором он открывается в браузере.

Передача параметров в Postman

В программу встроен собственный сервис API, который и используется для тестирования внешних ресурсов. Чтобы обратиться к нему, следует кликнуть на «плюсик», выбрать из выпадающего списка тип запроса GET, а вместо домена вставить ссылку на сервис https://postman-echo.com/get.

Передача параметров

Затем нужно открыть вкладку Params и в разделе Query Params под строкой Key внести название отправляемого параметра. Следом под строкой Value нужно написать еще одно значение. Количество не ограничено – пользователь вносит столько параметров, сколько ему нужно для тестирования конкретного API.

Остается нажать на кнопку Send и получить ответ на отправленные запросы. Чтобы потом параметры не задействовались при тестировании реально существующих веб-ресурсов, достаточно снять с них галочки. Это укажет программе, что нужно отправлять запросы без учета внесенных параметров.

Передача параметров формы и заголовков

В отличие от GET, запрос POST передается не в ссылке на сайт, а в теле запроса. Чтобы проверить работоспособность программы, используется обращение к адресу https://postman-echo.com/post. Во время настройки на вкладке Body нужно включить режим form-data, затем внести схожие параметры и нажать на кнопку Send.

Передача параметров формы и заголовков Postman

Если взаимодействие по API требует передачи токенов авторизации, понадобится привлечь к этому HTTP-заголовки. Такой формат работы используется, например, в движке Xenforo, написанном на PHP для развертывания форумов. Для передачи в заголовке какой-либо информации нужно зайти на вкладку Headers и добавить любое имя со значением (на выбор пользователя). После отправки информации внизу окна будет отображен ответ сервера.

Передача файла в Postman

Программа Postman позволяет отправлять файлы, а не только текстовые данные, как в приведенных выше примерах. Чтобы сделать это, достаточно перейти на вкладку Body, зайти в раздел form-data и выбрать тип параметра File (вместо Text).

Передача файла Postman

Затем следует нажать на кнопку Select File и выбрать отправляемый файл. После отправки данных на сервер он будет виден в секции files. Ничего сложного в процедуре нет, приведенная выше схема работает со всеми типами файлов.

Авторизация Basic Auth

Если на сайте используется защита с авторизацией по методу Basic Auth, программа Postman дает возможность проверить ее прохождение. В качестве примера обращение будет осуществляться по адресу https://postman-echo.com/basic-auth. Чтобы пройти проверку, понадобится отправить значение имени пользователя postman и пароль доступа password.

Авторизация Basic Auth

Далее в рабочей области надо открыть вкладку Authorization, в разделе Type выбрать значение Basic Auth и заполнить имя с паролем. Если процедура пройдена успешно, тестовый сервер вернет ответ authenticated: true.

История и коллекция запросов

При систематическом использовании одних и тех же запросов будет проще отправлять их из заранее составленного списка. Программа Postman упрощает задачу за счет сохранения истории, в которой содержатся все внесенные параметры. Пользователю лишь остается кликнуть по нужному пункту и при необходимости заменить URL.

История и коллекция запросов

Наиболее важные запросы рекомендуется сохранять в коллекции. Чтобы сделать это, достаточно нажать на кнопку New на верхней панели, выбрать пункт Collection и ввести название (на выбор пользователя). Теперь любой запрос будет добавлен в перечень нажатием на кнопку Create и, после заполнения всех данных, кнопку Save (до отправки на сервер).

VDS Timeweb арендовать

Весь современный веб построен на использовании API, да и вообще бэкенд редко обходится без программных интерфейсов. При всём удобстве работы с ними, есть и небольшая сложность: под эти интерфейсы нужно создавать архитектуру и логику, писать документацию, тестировать и масштабировать их.

К счастью, есть много сервисов, призванных облегчить этот процесс. Один из них — Postman. О нём часто говорят исключительно как об инструменте тестирования API, но это далеко не всё, что умеет платформа.

Postman — это сервис для создания, тестирования, документирования, публикации и обслуживания API. Он позволяет создавать коллекции запросов к любому API, применять к ним разные окружения, настраивать мок-серверы, писать автотесты на JavaScript, анализировать и визуализировать результаты запросов.

Программа поддерживает разные виды архитектуры API: HTTP, REST, SOAP, GraphQL и WebSockets. Postman вовсю используют в Twitter, WhatsApp и Imgur, но благодаря удобному графическому интерфейсу разобраться в платформе может даже новичок.

Скачать Postman можно бесплатно на официальном сайте. Есть версии под Linux, Windows и macOS — правда, перед началом использования нужно зарегистрироваться.

Основная сущность в Postman — рабочее пространство (workspace). В бесплатной версии доступно три вида рабочих пространств:

  • личное — видно только владельцу;
  • командное — видно только членам команды, которые в нём работают;
  • публичное — доступно всем желающим.

В Pro-версии появляется доступ к приватным рабочим пространствам — такие пространства доступны не всем членам команды, а только приглашённым. В Enterprise-версии добавляются партнёрские — они видны не только членам команды, но и приглашённым партнёрам.

Посмотрим, из чего состоит рабочее пространство Postman:

Скриншот: Postman / Skillbox Media

Самое интересное здесь — боковая панель слева. Семь её вкладок соответствуют основным инструментам Postman.

  • Collections. Здесь хранятся коллекции запросов к API. Несколько запросов внутри одной коллекции можно объединять в папки.
  • APIs. В этой вкладке можно хранить целые API: их определения и коллекции.
  • Environments. Здесь создаются и хранятся окружения, в которых лежат переменные. Активное окружение можно менять из любой вкладки в правом верхнем углу (где на скриншоте написано No Environment). Также тут можно создавать глобальные переменные, с которыми можно работать везде вне зависимости от окружения.
  • Mock Servers. Здесь можно создавать фиктивные серверы, которые имитируют поведение реальных. Это полезно при тестировании.
  • Monitors. Мониторы позволяют визуализировать и отслеживать работу API: следить за производительностью, проверять доступность и корректность работы сервера по расписанию, отправлять уведомления о сбоях.
  • Flows. Это инструмент, с помощью которого можно настроить логику API-приложений в визуальном редакторе. На март 2023 года он всё ещё доступен только в тестовом режиме, чтобы его использовать, придётся отправить заявку.
  • History. Здесь хранится история всех отправленных запросов. Их можно сохранять, объединять в коллекции, создавать для них документацию, мониторы и мок-серверы.

Postman — популярный инструмент среди тестировщиков. Его можно использовать для написания запросов к любому API, даже если при их создании Postman никак не использовали.

У платформы есть и собственный API, на котором любой желающий может протестировать работу сервиса и разобраться в работе запросов. Этот эхо-сервер возвращает клиенту те же данные, которые тот ему прислал. Документацию к нему можно прочитать здесь.

Давайте попробуем написать собственный запрос к API и протестировать его работу.

Чтобы создать коллекцию, нужно перейти во вкладку Collections и нажать плюс. В левой части приложения появится пункт New Collection.

Скриншот: Postman / Skillbox Media

Изменим название на Test Collection. Для этого нажмём на три точки справа от New Collection и во всплывающем окошке выберем пункт Rename.

Скриншот: Postman / Skillbox Media

В рабочей области коллекции есть пять вкладок:

  • Authorization. Здесь можно настроить метод и параметры авторизации, которые будут использоваться в каждом запросе внутри коллекции.
  • Pre-request Script. Здесь можно написать программу на JavaScript, которая будет выполняться перед каждой отправкой запроса внутри коллекции. Для наиболее распространённых алгоритмов Postman предлагает готовые сниппеты. Их можно использовать, чтобы не писать код с нуля.
  • Tests. Работает как Pre-request Script, но выполняет код после выполнения запроса. Именно этот раздел используют тестировщики для проверки API. Здесь тоже есть готовые сниппеты.
  • Variables. Здесь можно создать переменную и присвоить ей значение. Потом эту переменную можно использовать, указав её название в двойных фигурных скобках {{имя переменной}}.
  • Runs. Postman позволяет запускать запросы не по отдельности, а все сразу — внутри одной коллекции или папки. В разделе Runs хранится информация о таких прогонах и результатах их тестов.

Создать запрос можно несколькими способами:

  • нажать в левом верхнем углу кнопку New и выбрать нужный тип запроса;
  • нажать на плюс на панели вкладок в верхней части приложения;
  • нажать на три точки возле названия коллекции и во всплывающем меню выбрать пункт Add request.

Если вы выбираете первый или второй способ, то при первом сохранении запроса нужно указать коллекцию, в которой тот будет храниться.

Напишем GET-запрос к https://postman-echo.com и назовём его Test GET (названия у запросов можно менять так же, как и у коллекций). Для этого:

  • Создадим новый запрос.
  • Выберем в нём метод GET.
  • Введём URL: https://postman-echo.com/get/.
  • В разделе Params введём ключи test_key1, test_key2 и значения test_value1, test_value2 соответственно.
  • Нажмём кнопку Send.

Скриншот: Postman / Skillbox Media

Эхо-сервер вернул нам JSON-файл с заголовками и аргументами, которые мы ему передали (некоторые заголовки Postman отправляет автоматически).

Также после получения ответа можно отдельно посмотреть cookies, заголовки и результаты тестов, если они были. Кроме того, Postman указывает статус ответа, скорость его получения и размер возвращённого файла.

Как и в случае с коллекциями, в запросах в Postman можно указывать метод и параметры авторизации, предзапросные скрипты и тесты.

Авторизация по умолчанию наследуется от коллекции, но её можно переопределить в запросе. Скрипты же выполняются полностью: как общие для коллекции, так и написанные специально для запроса.

Теперь напишем к нашему GET-запросу простой тест: проверку кода ответа. Если код ответа 200 (то есть запрос выполнен успешно) — тест пройден.

Для этого перейдём во вкладку Tests и в правой колонке найдём сниппет Status code: Code is 200. Нажмём на него — появится скрипт.

Скриншот: Postman / Skillbox Media

Теперь отправим запрос ещё раз. В поле ответа во вкладке Test Results появится отчёт о тесте: PASS (то есть пройден успешно).

Скриншот: Postman / Skillbox Media

Теперь напишем ещё два теста, но не внутри отдельного запроса, а внутри коллекции. Первый тест будет проверять, есть ли в теле ответа строка test_value2, второй — есть ли там строка string_you_want_to_search.

Перейдём к Test Collection, на вкладку Tests. Выберем сниппет Response body: Contains string и нажмём на него два раза. В первом блоке кода строку string_you_want_to_search заменим на test_value2, во втором оставим как есть. Не забудем сохранить изменения, чтобы новые тесты применились к запросу.

Скриншот: Postman / Skillbox Media

Теперь отправим к эхо-серверу тот же GET-запрос. Он должен пройти первый тест (потому что мы передавали test_value2 в качестве одного из значений) и не пройти второй. Посмотрим на результат.

Скриншот: Postman / Skillbox Media

Всё как мы и предполагали. К запросу применились как его собственные тесты, так и тесты всей коллекции, один из которых он не прошёл. Причём тесты коллекции выполнились первыми — до тестов самого запроса.

Порядок выполнения скриптов, написанных в разных местах коллекции, таков:

  • Сначала выполняются скрипты коллекции.
  • Затем скрипты папки (там их тоже можно писать).
  • И уже потом скрипты запроса.

Это работает с любым кодом: как внутри Tests, так и внутри Pre-request Scripts.

Переменные, как и тесты, «живут» на разных уровнях Postman, и писать их можно в разных местах:

  • Глобальные переменные применяются ко всему рабочему пространству. Написать их можно во вкладке Environments в разделе Globals.
  • Переменные коллекции создаются внутри конкретной коллекции и работают только внутри неё.
  • Переменные окружения задаются на уровне окружения во вкладке Environments. Чтобы применить их к запросу, нужно напрямую связать его с окружением.
  • Локальные переменные существуют на уровне скриптов, которые выполняются при отправке запросов.
  • Переменные данных возникают, когда мы пользуемся Collection Runner — инструментом для запуска сразу всех скриптов внутри коллекции или папки.

Чем меньше область видимости переменной, тем выше её приоритет. То есть если где-то встретятся глобальная и локальная переменная с одинаковыми именами, то применится значение локальной переменной.

Создадим новое окружение Test Environment — сделать это можно по аналогии с созданием коллекции, но только во вкладке Environment.

Скриншот: Postman / Skillbox Media

Создадим переменную test_variable и присвоим ей значение test_value3. Сохраним изменения в окружении.

Скриншот: Postman / Skillbox Media

Затем перейдём к тестовой коллекции и применим к ней окружение, выбрав его в правом верхнем углу. Теперь мы можем использовать в этой коллекции все переменные окружения.

Скриншот: Postman / Skillbox Media

Усовершенствуем второй скрипт в тестах коллекции. Для этого строку «string_you_want_to_search» заменим на сниппет Get an environment variable. В нём variable_key заменим на название переменной test_variable. Сохраним изменения.

Таким образом, второй скрипт будет проверять, есть ли в ответе сервера соответствие не строке string_you_want_to_search, а содержимому переменной test_variable.

Скриншот: Postman / Skillbox Media

Теперь перейдём к GET-запросу и создадим новый параметр. Его ключом будет test_key3, значением — содержимое переменной test_variable. Для этого её название заключим в двойные фигурные скобки {{}}. Сохраним изменения и отправим запрос.

Скриншот: Postman / Skillbox Media

Как видим, все тесты пройдены. Значит, значение нашей переменной корректно извлекается и в параметрах запроса, и в тестах.

Скриншот: Postman / Skillbox Media

Postman — инструмент для работы API в течение всего его жизненного цикла. Но особенно часто им пользуются тестировщики из-за богатого инструментария запросов к API: в нём можно создавать и настраивать запросы, объединять их в коллекции и папки, применять к ним разные окружения со своими переменными, писать автотесты.

У Postman есть платные тарифы, но для начала работы, личных проектов и тестирования API подойдёт и бесплатная версия.

Postman — программа, которая проверяет работу API с помощью запросов. Они могут содержать файлы, cookie, HTTP-заголовки, параметры форм. В статье покажем основные бесплатные функции программы и расскажем о нескольких простых действиях, которые можно в ней выполнять.

Скачайте бесплатную версию Postman с официального сайта. Приложение адаптировано для Windows, MacOS и Linux.

Не забудьте создать личный аккаунт, чтобы синхронизировать все устройства, в которых вы работаете над проектом. Так вы не потеряете важные данные.

В статье будем использовать бесплатный сервис {JSON} Placeholder. Он предоставляет бесплатный API с фейковыми данными, чтобы тестировать приложения.

Инженер-тестировщик: новая работа через 9 месяцев

Получится, даже если у вас нет опыта в IT

Узнать больше

Интерфейс

Главное окно состоит из четырех рабочих блоков:

  1. основное меню;
  2. сайдбар;
  3. выбор типа запроса и сам URL;
  4. рабочая область.

Интерфейс Postman

Как выполнить запрос

В Postman запросы — основная рабочая единица. Чтобы выполнить запрос, нажмите «+» и выберите его тип. Например: «основной — GET». После укажите URL в адресной строке и щелкните Send.

Выполняем запрос

Выполняем запрос

Как передавать параметры

Чтобы проверить передачу параметров, используйте онлайн-сервис postman-echo.

GET-параметры

Нажмите «+», чтобы создать новый запрос → в поле запроса пропишите https://postman-echo.com/get → метод GET.

GET-параметры указывают в разделе Params. Откройте этот раздел под строкой запроса и наберите название параметра в графе Key (например, Foo), а его значение — в Value (например, Bar). Теперь кликните Send и смотрите результат.

Передаем GET-параметры

Передаем GET-параметры

Параметры формы

Параметры формы передаются с помощью POST-запросов. Нажмите «+» → POST → в адресную строку добавьте https://postman-echo.com/post. В теле запроса (Body) выберите вкладку form-data и заполните необходимые поля → отправьте (Send).

Передача файла

Для этого в form-data поменяйте тип параметра с Text на File. Полученный ответ будет храниться в разделе Files.

Заголовки

Чтобы отправить данные в заголовке, перейдите в раздел Headers, затем введите сам заголовок и его значение.

Передаем заголовок

Передаем заголовок

Авторизация

Есть много методов и способов, чтобы зарегистрироваться и авторизоваться на сервере. Рассмотрим базовую схему авторизации. При такой схеме логин и пароль передаются в заголовке «Authorization» в незашифрованном виде. С помощью Postman можно убедиться, что протокол работает правильно и, главное, безопасно.

Для примера возьмем URL-адрес https://postman-echo.com/basic-auth.

Поменяйте метод на GET. Откройте вкладку Authorization → Нажмите Type → Basic Auth. Введите имя пользователя — postman, пароль — password → Send. Если протокол авторизации работает корректно, сервер выдаст: authenticated: true.

Проверяем авторизацию Basic Auth

Проверяем авторизацию Basic Auth

История запросов

Если некоторые запросы используете чаще других, необязательно раз за разом вводить новые данные. Можно воспользоваться списком в разделе History. Он хранит предыдущие запросы.

Коллекции запросов

Чтобы хранить запросы, есть специальные архивы — коллекции. Здесь можно структурировать, организовывать запросы, раскладывать по папкам, чтобы их было проще найти. Это полезно для средних и больших проектов.

Чтобы создать коллекцию: в разделе Collection нажмите «+» → дайте ей название → заполните запросами (Add request).

Как тестировать запросы

С помощью Postman можно отправлять запросы независимо от того, тестируете ли вы собственный API или интегрируетесь со сторонним. Запросы создают в конструкторе — главном рабочем пространстве программы. Вы можете проверить любые параметры — например, заголовки или cookie.

Запрос состоит из URL-адреса и HTTP-метода. Последний указывает тип действия, который запрашивается у API. Вот наиболее распространенные методы:

  • GET — получить данные;
  • POST — добавить новые данные;
  • PUT — заменить данные, которые имеются;
  • PATCH — обновить некоторые поля данных;
  • DELETE — удалить данные.

Например, если вы тестируете API онлайн-планировщика дел, можете использовать: GET-метод — чтобы получить текущий список задач; POS — чтобы создать новую задачу; PUT или PATCH — чтобы редактировать существующую; DELETE — чтобы удалить задачу.

GET-запросы

В качестве примера возьмем API:

Нажмите «+» → Выберите GET-запрос → Задайте URL-адрес https://jsonplaceholder.typicode.com/users → Send.

GET-запросы

Если запрос выполнен корректно, в нижней панели появится надпись: «Status: 200 ОК».

POST-запросы

POST-запросы позволяют отправлять новую информацию. Например, данные о пользователе:

Кликните «+» → Выберите POST-запрос → Задайте URL-адрес https://jsonplaceholder.typicode.com/users → Перейдите в раздел Body → Выберите Raw > JSON → Введите данные пользователя → Send.

Если запрос выполнен корректно, вы увидите статус «201 Created».

Создание переменных окружения

Переменные окружения чаще используют, чтобы хранить части URL-адреса. Для работы с ними используют простой синтаксис. После того как создадите переменную, к ней можно обратиться через двойные фигурные скобки, например: {{param}}. При этом появится автозаполнение: программа покажет вам все доступные переменные с таким именем.

Как создать переменную:

  1. Слева выберите раздел Environments.
  2. Чтобы создать глобальную переменную — Globals. Если нужны локальные переменные, нажмите «+» сверху, чтобы создать свое окружение.
  3. В графе VARIABLE введите имя переменной, в INITIAL VALUE — ее значение. Для примера создадим глобальную переменную, назовем json, а в качестве значения зададим базовый URL — https://jsonplaceholder.typicode.com.
  4. Сохраните (Save).

Чтобы воспользоваться переменной, в адресной строке откройте две фигурные скобки и наберите json. Вы увидите список доступных переменных, включая ту, которую мы только что создали: {{json}}/posts — для списка постов, {{json}}/users — чтобы получить список пользователей.

Создание переменной

Создание переменной

Подробнее о доступных методах и конечных точках для этого API смотрите на официальном сайте.

Как создать тесты в Postman

В Postman тесты нужны, чтобы определить ошибки в работе API и переписать неправильные фрагменты кода. Чтобы запустить тест, откройте запрос и перейдите в раздел Tests.

Введите следующий код:

pm.test("Status test", function () {
pm.response.to.have.status(200);
});

Нажмите Send, чтобы Postman запустил тестовый сценарий. Выходные данные появятся на вкладке Tests Results. Если всё выполнено верно, будет написано:

PASS: «Status code: Code is 200».

Как запускать коллекции тестов

В Collection Runner

В разделе Collections найдите кнопку Run.

В новом окне выберите окружение и задержку. Если тест будет выполняться без задержки, его результат может быть ошибочным, поэтому лучше указать хотя бы минимальное значение.

Установите значение iterations равным десяти и нажмите Send.

Откроется отчет, который можно экспортировать (Export Results).

В Newman

Это приложение, которое использует командную строку вместо графического интерфейса. С его помощью можно запускать тесты с консоли.

  1. Установите NodeJS по ссылке: http://nodejs.org/download/.
  2. Введите в командной строке:
    npm install -g newman.
  3. В разделе Collections нажмите значок «⋮».
  4. Выберите Export → Export Collection as Collection 2.1 (Recommended) → Export.
  5. Выберите папку для экспорта и нажмите Save.
  6. Теперь нужно экспортировать окружение, которое используется в этой коллекции. Выше мы использовали глобальное окружение. Зайдите в Environments → Globals → выберите Export (рядом с Save). Затем выберите нужную папку и кликните Save.
  7. В терминале откройте папку, куда сохранили коллекцию с переменными окружения.
  8. Запустите коллекцию командой:
newman run [название файла коллекции].json -e [название файла с переменными].json

Главное о Postman

  • Postman — самый популярный сервис, чтобы тестировать API. Его используют более семнадцати миллионов разработчиков.
  • В Postman есть бесплатная версия. Ее функций вполне достаточно, чтобы решать базовые задачи.
  • Приложение работает по принципу запросов. Они могут включать данные, которые приложение будет запрашивать у API. Данные могут передаваться не только в виде текста, но и файлов.
  • Основные преимущества Postman: простой интерфейс, поддерживает разные типы API, интегрируется и поддерживает расширения, которые позволяют настроить программу, чтобы решать конкретные задачи.

{«id»:13926,»url»:»/distributions/13926/click?bit=1&hash=ec0065fc82c63f70537c1a3d5fab528dfc5d6225644c405d9e6ed2d6422414f3″,»title»:»u041cu041au0411 u043fu0440u043eu0432u043eu0434u0438u0442 One Day Offer u2014 u0438u0449u0443u0442 u0430u043du0430u043bu0438u0442u0438u043au043eu0432 u0438 u0440u0430u0437u0440u0430u0431u043eu0442u0447u0438u043au043eu0432″,»buttonText»:»u042du0442u043e u044f»,»imageUuid»:»569fd6b9-974c-5dd3-94a6-ccd92a920863″,»isPaidAndBannersEnabled»:false}

Итак, если ты здесь, то ты наверняка искал что-то типо: «Да кто такой этот ваш Postman?». Спокойно, сейчас расскажу.

Довольно простое определение для данного инструмента будет таким:

Postman — инструмент для работы с API, который позволяет посылать запросы к сервисам и работать с их ответами.

В нем можно:

  • отправлять запросы и получать ответы;
  • сохранять запросы в папки и коллекции;
  • делиться коллекциями ваших запросов и наборов тестов с коллегами;
  • выполнять автотесты, в том числе по расписанию;
  • изменять параметры запросов.

Те самые базовые вещи ↓

Интерфейс

1.Собственно, рабочая область, в которой вы можете редактировать свой запрос:

— query параметры;

— headers;

— body;

— Response — полученный ответ и его status code;

2. Основное меню;

3. Боковая панель, в которой можно:

— cоздать коллекцию запросов (как бы разделить их и сгруппировать в отдельные файлы);

— создавать новые окружения с индивидуальными настройками;

4. Выбор типа запроса и сам URL.

Как тестировать запросы?

Давай отправим GET-запрос с помощью Postman:

Чтобы выполнить запрос, нажми «+» и выбери его тип (GET). После укажи URL в адресной строке и щелкни Send.

Ты увидишь 200 OK в результате, если запрос выполнится успешно:

ВАУ! ТЫ сделал СВОЙ первый запрос, поздравляю!

А теперь задачка посложнее — отправим POST-запрос.

Если ты это читаешь, то, скорее всего, ты знаешь, чем отличаются типы запросов. Но на всякий случай я уточню. POST-запрос отличается от GET-запроса тем, что в POST-запросе мы должны отправить какую-то информацию в Body.

Чтобы выполнить запрос, нажми «+» и выбери его тип (POST). После укажи URL в адресной строке и…

Нажимаем на вкладку Body, выбираем «Raw» — JSON и вставляем данные пользователя:

После этого нажимаем кнопку SEND и отправляем наш запрос.

Вы увидите 201 Created message (как на скриншоте ниже) если запрос выполнился успешно:

Точно так же, как и POST, отправляются PATCH, PUT и delete запросы.

Как создать тесты в Postman

Тесты в Postman позволяют убедиться, что API работает так, как этого от него ожидают.

Возвращаемся к GET-запросу и переходим во вкладку Tests. Находим Snippets и нажимаем на «Status code: Code is 200». В окне теста появится скрипт. Этот тест будет проверять, что запрос возвращает код ответа 200:

Нажимаем кнопку SEND и проверяем результаты теста:

Все получилось. Поздравляю — вы великолепны!

Заключение

Я познакомила тебя лишь с малой частью данного инструмента. Мне кажется, о Postman можно написать еще 1000 и 1 статью, но чтобы все точно получилось, будем действовать постепенно и идти шаг за шагом к обширным знаниям о Postman.

Postman API Platform — это популярный HTTP-клиент для создания, тестирования и документирования API. Он позволяет отправлять запросы различным сервисам и работать с их ответами. Настоящая палочка-выручалочка для тестирования бэкенда.

Давайте сразу договоримся: в комментариях вы можете предлагать любой аналогичный сервис и расписывать его плюсы. Но поскольку статья у нас о Постмане, то и дифирамбы будем петь ему.

Для начала держите ссылку на Postman, чтобы иметь возможность изучать его параллельно со статьёй. Дальше перекатываемся к преимуществам сервиса:

  1. Бесплатный.
  2. Он интуитивно-понятен, а потому предельно прост в использовании и подходит даже новичкам.
  3. Поддерживает REST, SOAP, GraphQL.
  4. Расширяемый с помощью Postman API.
  5. Интегрируемый в CI/CD с помощью консольной утилиты Newman.
  6. Большое комьюнити, что позволяет получить ответ практически на любой вопрос.

Загрузка и установка Postman

Поскольку теперь вы знаете о приложении и ознакомились с принципами его работы, пришло время установить приложение. В этой статье мы рассмотрим, как загрузить и установить Postman на ОС Windows.

Стоит отметить, что Postman доступен для Windows, Linux и MacOS в виде отдельного приложения. Вы можете установить приложение двумя способами:

  1. Как отдельное десктопное приложение
  2. Как расширение Google Chrome

Мы подробно рассмотрим оба способа.

Скачать Postman как отдельное приложение

Десктопный вариант — это стандартное ПО, которое вы устанавливаете на ПК. Такое приложение пользуется поддержкой только вашей операционной системы, а не другого приложения, потому что оно как раз и написано для конкретной ОС.

  1. Перейдите по ссылке https://www.postman.com/downloads/.
  2. Выберите операционную систему, на которую вы хотите установить Postman, и нажмите кнопку «Загрузить». Поскольку у меня машина с Windows 64-бит, то и устанавливать я буду версию для x64-Windows.
  3. Тыкаем на загруженный файл .exe и устанавливаем.
  4. Установка не требует никаких дополнительных действий. После завершения установки автоматически начнется открытие инструмента Postman.
  5. Создаёте учётную запись и пользуетесь инструмерегис

Скачать Postman как расширение Google Chrome

  1. Перейдите по ссылке на расширение в веб-магазине Chrome и добавьте Постман в список своих расширений.
  2. Тыкайте на свежеустановленный extension.
  3. После этого вы увидите страницу регистрации.

Но следует отметить, что в расширении доступны не все родные функции приложения. Например, расширение не позволяет нормально работать с прокси. В этом случае для прокси потребуется установить ещё одно расширение, которое называется Postman Interceptor.

Навигация в Postman API Platform

Теперь, когда Postman установлен (а в моём случае установлен он как полноценное приложение), начинаем изучение пользовательского интерфейса.

Навигацию Postman можно разделить на четыре основных блока пользовательского интерфейса, как показано ниже:

  1. Сайдбар → Фильтр, по которому можно найти запрос, который создавали; История запросов; Коллекции запросов.
  2. Хедер → Кнопка New, которая отвечает за создание нового запроса, коллекции и окружения; Импорт документов; Раннер, с помощью которого запускается тестирование запросов; Меню для работы со вкладками; Переключение рабочей области; Кнопки настроек, уведомлений, авторизации, etc.
  3. Билдер → Окружения и менеджер окружений; Вкладки; HTTP-метод; URL; Прочие Builder-элементы, которые позволяют работать с запросами.
  4. Ответы → Заполняется только при вызове REST-запроса. Этот раздел будет заполнен деталями полученного ответа.

Это краткое описание навигации, но и его достаточно, чтобы более-менее ориентироваться в интерфейсе данного инструмента.

Создание запроса в Postman

И вот, изучив назначение, преимущества и разобравшись в навигации, мы подобрались к самому главному, а именно созданию нашего первого реквеста. Разберём весь процесс поэтапно.

1. Кликаем по кнопке New, которая находится в хедере:

2. В появившемся меню выбираем Request:

3. Вводим осмысленное имя запроса, например, First API, который мы используем. Вы также можете использовать описание API для более подробных сведений, но это поле не является обязательным.

4. Теперь вводим имя коллекции, например, First Collec, и выберем +Create Collection, как показано на скрине. После нажимаем на Save.

5. В сайдбаре кликаем по табу Collections, выбираем только что созданную коллекцию и First API:

6. В поле URL вводим www.google.com и нажимаем Send:

7. В завершение либо нажимаем Save, если хотим перезаписать текущий запрос, либо выбираем Save As и сохраняем, как новый запрос:

Таким образом, мы создали запрос и сохранили его в нужной коллекции.

Отправка GET-запроса в Postman API Platform

Вспомним основы. Существует 4 основных метода НТТР, которые мы используем в запросах для взаимодействия с ресурсами в системе REST:

  • GET — получение конкретного ресурса (по id) или коллекцию ресурсов;
  • POST — создание нового ресурса;
  • PUT — обновление конкретного ресурса (по id);
  • DELETE — удаление конкретного ресурса по id.

Грубо говоря, на первом этапе мы ставим перед собой не самую сложную задачу, а именно запрос на получение данных.

Запрос GET содержит всю информацию внутри URL-адреса, и, поскольку URL-адрес виден всё время, рекомендуется не использовать этот тип запроса при отправке конфиденциальной информации, такой как пароли.

Например, когда вы нажимаете поиск после ввода чего-либо в поле поиска google.com, вы на самом деле выполняете GET-запрос, потому что там нет конфиденциальной информации, и вы просто запрашиваете страницу с нужными вам результатами поиска.

Теперь разберём отправку GET-запроса пошагово.

1. В выпадающем меню выбираем GET:

2. Как мы уже делали выше, в поле URL вводим www.google.com и нажимаем Send. Только в этот раз давайте посмотрим, что будет в статус-коде и теле ответа:

Подробнее о кодах ответа. Если кратко, то код 200 в нашем случае означает, что данные были успешно извлечены и переданы в теле ответа. Другими словами, мы достучались до EndPoint и получили желаемый результат. При этом тело ответа подаётся в трёх возможных вариантах:

  • Pretty — понятная структура ответа с окрашенными символами и, в ряде случаев, отступами для удобства.
  • Raw — то же самое, но без цветов, отступов и разбития на строки.
  • Preview — показывает предварительный просмотр отправленной страницы.

Вот и всё, ничего сложного.

Построение POST-запроса в Postman API Platform

Итак, данный метод используется, когда нужно отправить на сервер дополнительную информацию внутри тела запроса. Как правило, когда мы отправляем запрос POST, мы ожидаем каких-либо изменений на сервере, таких как обновление, удаление или вставка.

Одним из лучших примеров использования POST-запроса является вход на сайт. При регистрации вы отправляете на сервер свою личную информацию, такую как пароль. Сервер создает новую учетную запись с той же информацией, что и у вашей учетной записи.

Запрос POST является основным методом, и этот метод в основном используется, когда пользователь хочет отправить на сервер конфиденциальные данные.

Важные моменты POST-запроса:

  1. Запросы POST не будут принимать файлы cookie.
  2. POST-запросы не добавляются в закладки и не отпечатываются в истории браузера.
  3. В запросах POST нет ограничений на длину данных.

В Postman каждая конечная точка REST API связана со своим HTTP-запросом. Когда конечная точка указывает, что ее следует вызывать с помощью HTTP-запроса POST, то для вызова конечной точки требуется только HTTP-запрос POST.

Вкладка Body в Postman позволяет указать данные, которые необходимо отправить с запросом. Вы можете отправлять различные типы данных тела в соответствии с вашим API.

Если вы отправляете данные тела, убедитесь, что выбраны правильные заголовки, чтобы указать тип контента, который может потребоваться вашему API для правильной обработки полученных данных.

  1. Для типов данных формы и URLencoded body Postman автоматически прикрепит правильный заголовок.
  2. Если вы используете raw для данных body, Postman установит заголовок на основе выбранного вами типа (например, текст или json).
  3. Если вы вручную выберете заголовок типа, он будет иметь приоритет над тем, что устанавливает Postman.
  4. Postman не устанавливает тип заголовка для типа binary.
  5. По умолчанию будет выбран тип none.

Form-data

Формы веб-сайтов часто отправляют данные в API как multipart/form-data. Вы можете воспроизвести это в Postman, используя вкладку Form-data Body. Данные формы позволяют отправлять пары ключ-значение и указывать тип содержимого.

form-data

URL-encoded

Данные в URL-encoded используют ту же кодировку, что и параметры URL. Если для вашего API требуются данные в кодировке URL, выберите x-www-form-urlencoded на вкладке Body вашего запроса. Введите пары ключ-значение для отправки вместе с запросом, и Postman закодирует их перед отправкой.

Raw

Используйте raw-данные для отправки всего, что вы можете ввести в виде текста. Используйте вкладку raw и раскрывающийся список типов, чтобы указать формат, например: текст, JavaScript, JSON, HTML или XML. Таким образом Postman включит подсветку синтаксиса, а также добавит соответствующие заголовки к вашему запросу.

Raw

Используйте переменные в данных своего тела, и Postman будет заполнять их текущие значения при отправке вашего запроса.

Для удобства в raw JSON вы можете добавить комментарии: они будут удалены при отправке запроса. Однострочные комментарии с // и многострочные комментарии с /* */ не будут учтены в запросе.

Binary

Кажется, здесь всё понятно, но проговорим ещё раз. Вы можете использовать тип binary для отправки информации, которую нельзя ввести вручную в редакторе Postman вместе с телом запроса, например изображения, аудио- и видеофайлы. Вы также можете отправлять таким образом и текстовые файлы.

GraphQL

Вы можете отправлять запросы GraphQL, выбрав соответствующую вкладку. Введите свой код в области запросов и любые переменные в разделе GraphQL Variables.

GraphQL

Более подробно о работе с GraphQL в Postman вы можете ознакомиться здесь.

Работа с переменными в Postman

Не стоит забывать и о том, что в инструменте предусмотрены специальные переменные. Что это такое?

Переменная в Postman — это символическое представление данных, которое позволяет получить доступ к значению без необходимости вводить его вручную, где бы оно вам ни понадобилось. Это крайне полезно в тех случаях, когда вы используете одни и те же значения в нескольких местах. Переменные делают запросы более гибкими и читабельными, абстрагируя детали.

Предположим, у вас есть один и тот же URL-адрес в нескольких запросах, но URL-адрес может измениться позже. Чтобы не менять его руками во всех запросах, можно сохранить URL-адрес в переменной base_url и ссылаться на него в своих запросах, используя конструкцию {{base_url}}. Если URL-адрес изменится, вы можете изменить значение переменной, и оно будет отражено во всей вашей коллекции, где бы вы ни использовали имя переменной.

При этом рандомных переменных в Postman много. Если при написании кода начать вводить парные фигурные скобки, Postman сам подскажет, какие из них доступны.

Максимально подробно о переменных в документации к Postman API Platform.

Заключение

Если хотите узнать больше о других методах запросов, таких как POST, PUT, DELETE, обязательно прочитайте эту статью: она доступно ответит на все ваши вопросы.

А для желающих самостоятельно построить API, у нас также есть полезный материал:

Остались вопросы? Смело задавайте их в комментариях к данной статье.

Тестирование API может превратиться в настоящую головную боль для тестировщика: нужно как-то слать запросы, стандартные инструменты структуризации тестирования для API работают плохо, не все функции API могут быть задокументированы. Postman создан для того, чтобы решить все эти проблемы: у программы Postman есть своя структуризация, Постман позволяет слать любые запросы (в том числе с файлами и ключами авторизации), внутри программы есть инструменты для документирования внешнего API. Поскольку API есть у любого более-менее крупного проекта, вам обязательно нужно знать, как пользоваться Postman, если вы собираетесь стать QA. Ниже – Постман для чайников: гайд о том, как пользоваться базовыми функциями инструмента + набор фишек для придвинутых пользователей.

Тестирование API – что такое и зачем нужно

Где учат работе с Postman?

Для начала разберемся с API. API – это интерфейс взаимодействия приложения с другими приложениями. Например, у вас есть веб-приложение, которое выдает текущую погоду в разных городах. Вы собираете данные из какой-то базы (в этом примере источник значения не имеет), после чего эти данные форматируются и отправляются на какой-то сайт. Сайт взаимодействует с приложением, и делает он это с помощью интерфейса (набора допустимых команд), определенного приложением. Этот интерфейс и есть API. 

На практике это выглядит так – есть сервер, который принимает HTTP-запросы на порт. Внутри сервера написана следующая логика:

  • Если приходит GET-запрос, в теле которого написано «Pls send data all current» – нужно взять всю информацию из базы данных по текущему времени и отправить.
  • Если приходит GET-запрос, в теле которого написано «Pls send data Moscow current» – нужно взять текущие данные по погоде в Москве и отправить.
  • Если приходит GET-запрос, в теле которого написано «Pls send data Moscow all» – нужно отправить из базы все данные по Москве за последние 100 лет.
  • Если приходит запрос, который не подходит под шаблон «Pls send data [город] [период]» – нужно отправить ошибку 404.

Вот этот интерфейс, при котором мы определяем допустимые запросы и допустимые ответы – это и есть API.

Тестирование API – это когда мы убеждаемся в том, что API:

  • Принимает все допустимые запросы.
  • Принимает только допустимые запросы.
  • Выдает все допустимые ответы.
  • Выдает только допустимые ответы.

Для того, чтобы провести тестирование API, нам нужно: знать, что API может принимать и выдавать; иметь возможность посылать запросы. Кроме того, серьезное тестирование имеет ряд дополнительных требований, нужно иметь возможность: посылать файлы, проводить авторизацию, раскидывать тесты по папкам, запускать сразу несколько тестов из какой-либо категории, настраивать автоматическое тестирование через определенные промежутки времени, вести документацию тестирования. Если делать все это вручную – на написание скриптов уйдет много времени и сил, но есть другой выход.

Постман – что это такое

Postman – это программа, которая предоставляет вам все необходимые инструменты для тестирования API: возможность посылать запросы, писать документацию к API, запускать автотесты, составлять иерархию тестов, проводить версионирование и так далее. У программы есть бесплатная версия, поэтому вы можете начинать изучать Postman без каких-либо вложений.

Одно из центральных отличий Postman от других программ для тестирования – возможность создания Mock-сервера. Когда вы работаете с API, обычно вам нужно не просто послать запрос откуда-то, вам нужно послать запрос с сервера, и в запросе должны быть указаны данные запрашивающего сервера. Если вы пытаетесь создать запрос вручную, вам все эти параметры приходится постоянно прописывать или копировать. Postman избавляет вас от этой проблемы – он создает Mock-сервер, который имитирует настоящий сервер, вам нужно один раз прописать параметры – и все, можете писать любые запросы.

Установка Postman

Устанавливается он очень просто, как и любая программа:

  1. Идете на страницу загрузки официального сайта.
  2. Скачиваете установочник.
  3. Запускаете его, устанавливаете программу.
  4. Регистрируете бесплатный аккаунт.
  5. Выставляете настройки в конце установки. Рекомендуем слева оставить все как есть, справа выбрать цвет темы.

Работа с Postman

Запросы и коллекции

Запросы – это основа Postman, потому что именно с помощью запросов мы можем тестировать API. Со временем количество запросов будет увеличиваться, и в их списке будет очень легко потеряться, поэтому запросы нужно сортировать по коллекциям. Если говорить грубо, то коллекции – это папки для хранения запросов. Организация коллекций – это отдельная большая тема, про которую вас вполне могут спрашивать на собеседовании, но если вкратце: коллекции должны иметь логичную структуру, их нужно выделять на основе какого-то признака: версия тестируемого API, отдельный блок функциональности и так далее.

И запросы, и коллекции создаются с помощью кнопки «New» в левой верхней части интерфейса:

Жмете на «Коллекции» – создается новая коллекция:

Из параметров на данный момент вам нужно задать только имя, все остальное можете оставить стандартным:

Теперь нужно создать запрос – наведите мышь на коллекцию слева, нажмите на 3 точки, выберите «Добавить запрос»:

Теперь вам нужно задать параметры запроса. Укажите имя, тип и URL (мы для примера используем тестовый API самого Postman). Для тестирования чаще всего используется GET-запрос, поэтому он выставлен по умолчанию. Параметры запроса можно писать как в центральном окне параметров, так и прямо в URL – в этом случае Postman сам подхватит все параметры и занесет их в таблицу.

Все, жмите на Send справа от строки URL. В нижнем окне вы увидите ответ от API – статус HTTP-ответа (200 означает, что все прошло успешно) и сам ответ в том формате, в котором API его высылает (чаще всего используют JSON). При желании можете посмотреть куки, которые были сформированы в процессе работы.

Теперь разберемся со вторым по популярности инструментов – POST-запросами. Post в переводе с английского – это когда мы что-то куда-то пишем, следовательно в запросе мы будем указывать какую-то информацию, которую API должен куда-то записать. Сначала создадим POST-запрос.

В качестве URL укажем адрес API, проверяющего JSON на корректность. После этого нам нужно выбрать вкладку «Body» запроса и вписать туда наш тестовый JSON.

Жмем на Send – нам приходит ответ 201 от сервера (успешно создана новая запись), в окне ответа API указана информация, которую мы получили от сервера.

Параметризация и переменные окружения

Когда тестов станет очень много, появится проблема: есть много одинаковых данных, которые вам нужно раз за разом вводить в каждый новый запрос. Чтобы с этой проблемой справиться, вам нужно использовать глобальные переменные (плохой вариант) или переменные окружения (хороший вариант). Переменная – это заданное вами имя, которому присваивается заданное вами же значение. Например, вы тестируете API сайта sravni.ru. Вам нужно создать 200 запросов, и каждый раз вам нужно писать https://sravni.ru/api/, после чего уже идет тело самого запроса к API. Вместо того, чтобы раз за разом вводить имя сайта, вы можете создать переменную site, которой присвоите значение https://sravni.ru/api/. В этом случае в запросе нужно будет писать не https://sravni.ru/api/get?foo1=bar1&foo2=bar2, а {{site}}/get?foo1=bar1&foo2=bar2 – короче и проще (все переменные в Постман указываются в двойных фигурных кавычках, {{переменная}}).

Такие переменные могут быть либо глобальными, либо переменными окружения. Глобальные переменные – допустимая, но плохая практика, поскольку с увеличением количества коллекций и запросов может случиться так, что переменные начнут перекрывать друг друга. Переменные окружения – это набор переменных, добавленных в конкретное именованное окружение. Вы просто переключаете окружение при необходимости – и ко всем запросам начинают применяться переменные выбранного окружения.

Для того, чтобы создать переменные окружения, сначала нужно создать само окружение. Для этого у Postman есть специальный раздел.

Здесь редактируются и глобальные переменные (вкладка Globals), и переменные окружения. Чтобы создать новое окружение, вам нужно нажать на плюсик над Globals, после чего – указать имя окружения и задать переменные.

Создадим переменную site, которая будет указывать на стандартный тестовый API Postman. Тип оставьте Default, есть еще Secret, но он вам сейчас не нужен (он используется для секретных данных, вроде паролей и ключей зашифрованного соединения). Не забудьте нажать на Save, чтобы сохранить новую переменную.

Теперь переходим в наш GET-запрос, изменяем URL, жмем на «Послать» и… не работает.

Почему не работает? Потому что мы не назначили окружение, в правом верхнем углу так и написано: «No environment». Жмем на эту надпись, выбираем наше окружение.

Запускаем – теперь работает так, как надо.

К слову, переменные можно добавлять и для коллекции – нажмите на коллекцию левой кнопкой мыши и перейдите в Variables.

Создание тестов

Автоматизация – это то, что делает Postman практически незаменимым. Автоматизация начинается с тестов. Тест – это когда вы задаете запрос и ответ на него, если ответ совпадает с тем, что вам нужно – загорается зеленая лампочка (все хорошо), если ответ не совпадает – загорается красная (все плохо). Тесты для каждого запроса задаются в отдельной вкладке.

Тесты создаются либо скриптами, либо через готовые сниппеты. 

Когда выбираете сниппет, в окно скриптов автоматически добавляется нужный тест. Выберем сниппеты «Response time is less than 200ms», «Status code: code is 200» и «Status code: successful POST request»

Запускаем – получаем 2 пройденных теста и 1 заваленный.

Третий тест завалился, так как мы послали GET-запрос, который возвращает код 200 при успехе, а POST-запрос возвращает коды 201 или 202 при успехе.

Файлы и авторизация

Вкратце о том, как их использовать. Файлы посылаются через вкладку Body запроса, выбираем тип тела – Form-data, выбираем тип ключа – файл.

Авторизацию можно настроить на соответствующей вкладке запроса. Выбираете тип авторизации и вводите/указываете ее параметры. Базовая авторизация по логину-паролю – Basic Auth.

Автоматизация

На тестах автоматизация не заканчивается – Postman позволяет вам запускать наборы запросов/коллекций вручную или автоматически. Делается это с помощью специального тула, Collection Runner.

Для эксперимента мы добавили в наш второй запрос (POST) 2 теста: код ответа 200 или 201 и скорость ответа – менее 200 мс. Теперь жмем на меню программы в левом верхнем углу, выбираем File -> New Runner Tab.

Вы увидите интерфейс Раннера.

Теперь вам нужно перетащить интересующие вас запросы из левого окна в центральное (можно перетащить всю коллекцию), а в правом окне нужно выбрать тип проверки и настроить его. Выберите Schedule runs, чтобы проверки проводились время от времени (так настраивают регрессионное тестирование). Укажите имя, задайте таймер и окружение с переменными.

Когда настанет указанное время, Runner автоматически запустит тест и покажет вам:

  1. График успешности проведенного теста.
  2. Результаты по каждому тесту.

Полезные фишки

Вкратце о других полезных функциях Postman:

  • Ведение документации API. У программы есть мощные инструменты для создания и ведения документации по API, гайд можно найти здесь.
  • Создание Mock-сервера. Про это есть детальная статья на Хабре, в блоге Ростелекома.
  • Поиск переменных по окружениям. Вы можете написать скрипт, который будет автоматически искать переменные, поднимаясь выше по иерархии области видимости при неудаче.
  • Написание запросов на JS. Если вы знаете JavaScript, вы можете писать многие вещи (в том числе и запросы) исключительно на этом языке. Ознакомьтесь с детальным гайдом от Postman.
  • Получение ответов в JSON. Опять же, если вы знакомы с JS и JSON – вы можете писать сложные тесты, которые включают в себя получение ответа от API в JSON-формате с последующим анализом этих ответов скриптами.
  • Вcтроенные библиотеки. Postman имеет несколько встроенные JS-библиотек, которые вы можете использовать в своей работе – валидация JSON, конвертер из XML, библиотеки для шифрования/дешифрования и так далее.
  • Глобальные скрипты. Если вы часто используете какой-либо скрипт или он должен использоваться вообще везде – вы можете создавать глобальные скрипты, которые можно будет быстро вызывать из любой строки локального скрипта.

Плюсы и минусы Postman

Из плюсов:

  • Есть автоматизация.
  • Понятный интерфейс.
  • Широкие возможности для написания скриптов.
  • Детальный мануал по работе со всеми компонентами программы от разработчиков.

Минусы:

  • Нужно учить JS, чтобы пользоваться самыми полезными функциями.
  • Подходит только для тестирования REST API.
  • Нет встроенной системы контроля версий.
  • Если пользуетесь десктопной версией – нужно постоянно держать ее открытой, чтобы была возможность автоматического тестирования через равные промежутки времени.

Где учат работе с Postman?

Postman – это один из инструментов тестировщика, причем им пользуются как мануальные тестировщики, так и те, кто занимается автоматизацией тестирования. А тестировщиков обычно учат на курсах:

  • Тестировщик ПО. На курсе сначала дают всю базу (версионирование, SQL, стандартное ПО тестировщика), а затем начинают учить конкретным вещам: как тестировать API, как тестировать интерфейсы, что делать с приложениями и так далее. Дают личного куратора, который отвечает 7 дней в неделю. Стоимость курса: 5 450 рублей при рассрочке на 12 месяцев.
  • Инженер по автоматизации тестирования. Длительный курс, продолжительность – 12 месяцев, в неделю – 12 часов обучения. Postman в этом курсе тоже есть, но занимает далеко не лидирующую позицию – существенную часть времени вы будете учить Java, Python и инструменты автоматизации тестирования на этих языках. Стоимость курса – 4 000 рублей в месяц при рассрочке на 36 месяцев.
  • QA Automation Engineer. Еще один курс по автоматизации тестирования, на котором упор делается преимущественно на Java, ее фреймворке Spring и инструментах автоматического тестирования, написанных под этот язык и фреймворк. Курс длится 10 месяцев, обучение – два полных дня в неделю. Цены станут известны, когда начнется набор.

Подведем итоги

Тезисно:

  • API приложения – это способ его взаимодействия с другими приложениями.
  • Тестирование API – это когда вы проверяете, что API принимает только описанные в документации запросы и логично выдает описанные в документации ответы.
  • Postman – это программа для тестирования API.
  • Одно из основных преимуществ Postman – автоматизация тестирования.
  • Для того, чтобы пользоваться всеми функциями Postman, вам нужно изучить JavaScript, но основными функциями можно пользоваться и без знания JS.

Изучаем основные возможности популярного инструмента интеграционного тестирования

https://gbcdn.mrgcdn.ru/uploads/post/2120/og_image/c2397d8e936f16779909ec2b2438a6ab.png

Привет! Меня зовут Игорь Гросс, я руководитель проектов в Test IT — это такая система управления тестированием. В этом посте я расскажу об одном интересном инструменте тестировщика — Postman — а также о том, как с его помощью решать распространённый тип задач — тестирование API.

Что это вообще такое?

API — это Application Programming Interface, или программный интерфейс приложения, с помощью которого одна программа может взаимодействовать с другой. API позволяет слать информацию напрямую из одной программы в другую, минуя интерфейс взаимодействия с пользователем. 

Как это работает? Представьте, что вы сидите в ресторане, выбираете блюдо в меню. Подходит официант, и вы делаете заказ. Официант передаёт ваш заказ на кухню, там происходит магия, и через некоторое время перед вами появляется готовое блюдо. API работает по такому же принципу — принимает ваш запрос, передаёт информацию системе, обрабатывает её и возвращает ответ. 

Какие бывают? API может быть внутренним, частным — когда программные компоненты связаны между собой и используются внутри системы. А может быть открытым, публичным — в таком случае он позволяет внешним пользователям или другим программам получать информацию, которую можно интегрировать в свои приложения.

Чтобы программам общаться между собой, их API нужно построить по единому стандарту. Одним из них является REST — стандарт архитектуры взаимодействия приложений и сайтов, использующий протокол HTTP. Особенность REST в том, что сервер не запоминает состояние пользователя между запросами. Иными словами, идентификация пользователя (авторизационный токен) и все параметры выполнения операции передаются в каждом запросе. Этот подход настолько прост и удобен, что почти вытеснил все другие.

Как тестировать API?

Тестирование API проводят, основываясь на бизнес-логике программного продукта. Тестирование API относится к интеграционному тестированию, а значит в ходе него можно отловить ошибки взаимодействия между модулями системы или между системами. Для тестирования используют специальные инструменты, где можно отправить входные данные в запросе и проверить точность выходных данных. Одним из таких инструментов как раз и является Postman. Вот что он умеет:

  • Составлять и отправлять запросы;
  • Сохранять запросы в папки и коллекции;
  • Параметризовать запросы;
  • Добавлять к вызову API контрольные точки;
  • Создавать разные окружения для одних и тех же запросов;
  • Запускать коллекции с помощью Collection Runner и использовать их как автоматизированные тесты.

Чтобы рассказать, как использовать Postman, напишем несколько тестов на базе реального проекта, используя для этого API системы управления тестированием Test IT.

Работа с запросами и отправка запросов в Postman

У Postman есть графический интерфейс, что выгодно отличает его от ряда других инструментов тестирования. Чтобы создать запрос, нужно нажать на кнопку New и выбрать пункт Request. 

Запросы Postman хранятся в коллекциях, поэтому нужно не только придумать название и описание запроса, но и создать коллекцию, где он будет храниться.

Создадим запрос на получение проектов. Назовём его соответственно: /api/v2/projects 

По умолчанию открывается форма создания GET-запроса:

Для удобства мы указали на иллюстрации выше пункты, соответствующие порядку действий:

1. Выбираем тип запроса. Postman предлагает внушительный список, нам нужен GET.

2. Указываем URL запроса. Первая часть ссылки должна содержать адрес сервера, где развёрнута наша TMC. Мы используем публичное API Test IT, а при составлении запросов опираемся на Swagger-документацию. В нашем случае полная ссылка будет выглядеть так: https://testit.geekbrains.ru/api/v2/projects. 

3. На вкладке параметров указываем ключи и значения запроса. Мы хотим получить только удалённые проекты, и API Test IT предоставляет нам такую возможность. Укажем в параметрах isDeleted=true.

4. Переходим на вкладку Authorization, указываем данные для идентификации пользователя. Postman поддерживает множество типов авторизации, параметры для каждого из них отличаются. Используем авторизацию по API Key, полученному из личного кабинета в Test IT.

Мы заполнили все необходимые данные. Теперь выполним запрос, нажав кнопку Send.

Видим, что запрос прошёл успешно: код 200, тело ответа, время ответа и сколько занимают полученные данные. Правда, в нашем случае тело ответа будет пустое, поскольку удалённых проектов у нас нет. Советуем в ключ isDeleted ставить значение true.

Отправляемый запрос или ответ мы можем сохранить с помощью меню справа:

Параметризация запросов, переменные окружения

У нас есть коллекция запросов, и мы хотим использовать их на разных окружениях. Допустим, выполнять их локально, на тестовом стенде и на проде. Посмотрим, что предлагает Postman, и как это работает.

В меню создания выбираем Environment 

В ранее созданном запросе выделим в переменные два параметра — URL стенда, к которому мы обращаемся, и токен для авторизации. Назовём наше окружение Test Environment. Создаём две переменные url и token и укажем их значения. На скриншоте ниже их значения скрыты из соображений безопасности.

Сохраняем созданное окружение кнопкой Add. Мы всегда сможем вернуться и отредактировать окружение с помощью кнопки Manage Environments (шестерёнка в правом верхнем углу основного экрана).

Устанавливаем Test Environment в качестве текущего окружения: выбираем из выпадающего списка и вносим параметры в запрос. Переменные указываются в двух фигурных скобках. Postman подсказывает названия переменных окружения при вводе.

После того как мы использовали параметры из переменных окружения, повторим запрос, чтобы проверить, что нигде не ошиблись.

Запрос вновь прошёл успешно, значит, всё сделали правильно.

Теперь создадим другое окружение, с другими URL и token, и поменяем их с помощью переключения в выпадающем списке. Протестируем продукт на двух разных окружениях, используя одну коллекцию запросов.

Создание тестов в Postman

Мы познакомились с отправкой и параметризацией запросов, а когда же приступим к тестированию? Мы на пороге написания первого теста в Postman.

Уже в знакомом нам запросе находим вкладку Tests и переходим в неё.

Открывается окошко для написания кода на JavaScript. Postman предлагает множество готовых сниппетов, которые можно применить для тестирования API. Здесь можно валидировать коды и содержание ответов, парсить и сохранять значения в переменные окружения или глобальные переменные, проверять их соответствие заданным значениям и т.д. Подробнее о написании тестовых скриптов в Postman можно прочитать в документации или статье на Хабре.

Остановимся на создании простого тестового скрипта: проверим, что код ответа 200. Для этого используем готовый сниппет.

Postman автоматически добавил код на JS, который проверяет, что код ответа равен 200.

Помимо этого, напишем проверку. В списке, который мы получили в данном запросе, отсутствуют проекты с параметром isDeleted = false. Надо парсить ответ, в цикле проходить все объекты полученного массива и проверять, что isDeleted = true.

Вот какой код теста получился:

pm.test("All projects is deleted", function () {
    var jsonData = JSON.parse(responseBody);
    for (var i = 0; i < jsonData.length; i++) {
        pm.expect(jsonData[i].isDeleted).to.eql(false)
    }
});

Мы написали в коде false, а не true, потому что у нас есть только созданные проекты, а удалённых нет. Если оставить true, тест будет провален. Если поменять значение на false — тест будет пройден. Отправим запрос и проверим, что тесты прошли. Результаты тестов и их названия отображаются на вкладке Test Results.

В тренировочном запросе два теста. Чтобы создать ещё один GET-запрос, данные для авторизации и проверку на код ответа 200 нужно продублировать. Чтобы сэкономить время, внесём эти данные на уровень всей коллекции. 

Переходим в редактирование коллекции.

Видим уже знакомый интерфейс для настройки авторизации, переносим сюда данные из теста.

А на вкладку Tests перемещаем проверку, что код ответа равен 200.

В запросе убираем продублированную проверку, а на вкладке авторизации укажем «Inherit auth from parent». Сохраняем запрос и отправляем.

Запрос прошёл: с авторизацией всё в порядке, и у нас отображаются 2 теста, хотя один из них мы удалили. Мы вынесли авторизацию и один тест на уровень всей коллекции, и теперь авторизация и тест на код ответа 200 будут применяться ко всем тестам внутри этой коллекции.

Коллекции можно экспортировать, чтобы делиться ими с командой. Если вы авторизуетесь в Postman, то сможете хранить коллекцию в облаке и иметь доступ с разных устройств.

Запуск коллекций тестов в Postman

В Postman есть встроенный компонент Collection Runner, с его помощью можно запустить наполненную запросами и тестами коллекцию.

Нажимаем пиктограмму треугольника на коллекции. Открывается дополнительное окно, в котором выбираем Run. В открывшемся окне выбираем окружение, количество итераций в запуске и задержку между отправкой запросов. Также здесь стоит настроить логирование запросов, хранение переменных и cookies.

Укажем значение Iterations равным 10 и пройдём наши тесты.

Далее можно посмотреть на результаты тестов по каждому запросу, экспортировать результаты по кнопке Export Results либо пролистать их в кратком виде по кнопке Run Summary.

Заключение

Итак, мы познакомились с базовыми возможностями инструмента Postman:

  • Составили и отправили запросы;
  • Задали параметры в запросах;
  • Создали и переключались между окружениями;
  • Написали базовые тесты;
  • Создали и отредактировала коллекции;
  • Выполнили запуск тестов.

Это только малая часть полезных и интересных функций Postman, при помощи которых можно тестировать API. Понравилась статья — поделитесь с коллегами ;)

Если вы хотите освоить не только Postman, но также и другие инструменты ручного и автоматизированного тестирования ПО — приглашаем вас на факультет тестирования ПО GeekUniversity! 

Понравилась статья? Поделить с друзьями:
  • Блендер haier hb 500 инструкция по применению
  • Листья оливы нсп инструкция по применению отзывы
  • Апротекс инструкция по применению при панкреатите внутримышечно
  • Руководство роспотребнадзора по нижегородской области
  • Мануал тойота аллион 2007