Как писать скрипты в Postman

Script developer cat

Скрипт — это набор команд, позволяющий автоматизировать рутинные, повторяющиеся действия. Например, автоматически подставлять токен доступа в запросы, требующие авторизации.

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

Основы JavaScript для написания скриптов

Кратко рассмотрим основы написания кода на JavaScript.

1. Переменные

Переменная — это контейнер для хранения информации. Ключевое слово var позволяет объявить переменную.

Что храним Тип Пример кода
Имя строка
var name = "Кот-астронавт";
Возраст число
var age = 4;
Готов ли к запуску логическое значение
var isReadyForLaunch = true;
Список вещей для полёта массив
var inventory = ["шлем", "перчатки", "паёк"];

2. Функции

Функции создаются с помощью ключевого слова function.

Пусть у нас есть две функции: одна готовит корабль к старту, другая считает запас топлива.

Функция, которая готовит корабль к запуску
function prepareShip(name) {
    return "Корабль «" + name + "» готов к запуску!";
}
Функция, которая считает запас топлива по расстоянию
function calculateFuel(distance) {
    return distance * 42;
}

3. Вызов функций

Функции вызываются по имени и могут принимать аргументы. Посмотрим, как это выглядит в коде.

Что делаем Пример вызова
Готовим корабль к старту
prepareShip("Восход-3");
Считаем запас топлива
var fuel = calculateFuel(800);
Выводим сообщение в консоль
console.log("Запуск начался!");

Свойства и методы объекта pm в Postman

Postman предоставляет исполняемую среду, в которой можно писать скрипты на JavaScript — так называемый «Postman Sandbox». Код можно писать в разделе Scripts.

Вызвать специальные функции Postman можно, обратившись к методам и свойствам объекта с именем pm.

1. pm.environment

Через объект pm можно обратиться к свойству environment и динамически получать и устанавливать значения переменных среды.

Обращение к объекту environment и вызов функции get позволяет получить значение переменной среды, передав параметром имя переменной.
pm.environment.get("variableName")
Обращение к объекту environment и вызов функции set позволяет установить значение переменной среды, передав параметрами имя и значение переменной.
pm.environment.set("variableName", "variableValue")

2. pm.globals

Через объект pm можно обратиться к свойству globals и динамически работать с глобальными переменными (доступными для всех сред).

Обращение к объекту globals и вызов функции get позволяет получить значение глобальной переменной, передав в качестве параметра имя переменной.
pm.globals.get("variableName")
Обращение к объекту globals и вызов функции set позволяет установить значение глобальной переменной, передав параметрами имя и значение переменной.
pm.globals.set("variableName", "variableValue")

3. pm.test

Через объект pm можно обратиться к методу test, в котором можно написать свой тест.

Вызов метода test с двумя параметрами: названием теста и функцией с проверкой. Если функция выполняется без ошибок, тест считается пройденным, иначе — проваленным.
pm.test("Let's check if code is 200",
    function () {
        pm.response.to.have.status(200);
    }
);

Pre-request скрипты в Postman

Скрипты, описанные в разделе Scripts —> Pre-request выполняются перед тем, как будет отправлен запрос. Это может быть любой код на JavaScript, но ключевой объект, к свойствам которого мы получаем доступ в разделе Pre-request — это request. Обратиться к нему можно через pm.request. Если нажать точку, то в выпадающем списке отобразится список всех доступных методов.

Postman pre-request script example
Пример скрипта в секции Pre-request в Postman
Обращение к объекту request (запрос) к переменной headers и вызов метода add для добавления заголовков.
pm.request.headers.add({
    key: "Authorization",
    value: "Bearer jwt"
});

Post-response (Tests) скрипты в Postman

Скрипты, описанные в разделе Scripts —> Post-response (Tests) выполняются уже после того, как запрос был отправлен и получен ответ от сервера. Помимо возможности обращаться к request, теперь у нас есть доступ к ответу — объекту response. Обратиться к нему можно через pm.response. После ввода точки отобразится список всех доступных методов.

Именно в Post-response чаще всего пишут автоматизированные проверки, чтобы убедиться, что ответ сервера соответствует ожиданиям. Чтобы написать тест вызовите pm.test и передайте туда произвольное название теста и функцию, которая будет выполнена после отправки запроса. Результат выполнения функции изменит статус теста на true = PASSED либо false = FAILED и отобразится в секции Test Results.

Postman post-response test example
Пример скрипта в секции Tests в Postman
Обращение к объекту response (ответ), далее — к переменной code , в результате чего будет получен статус код ответа.
pm.response.code
Обращение к объекту response (ответ) и вызов функции json(), которая приводит тело ответа в JSON формат либо выбрасывает ошибку, если тело ответа невозможно привести к JSON.
pm.response.json()

Зачем писать скрипты в Postman

Подытожим: с помощью скриптов в Postman можно автоматизировать часть работы — сгенерировать тестовые данные, подготовить запрос и написать автоматические проверки ответов сервера.

Возможности Postman для написания полноценных автотестов ограничены, однако для базового тестирования API этого достаточно. Для всеобъемлющих автоматизированных тестовых сценариев придётся изучить язык программирования, например, Java или Python, и погрузиться в экосистему тестовых фреймворков и инструментов, таких как Selenium, Playwright, Rest Assured.

Задача
Задача доступна премиум пользователям!
Sidebar arrow

ВВЕДЕНИЕ

БАЗОВЫЕ ЗНАНИЯ

УРОВНИ ТЕСТИРОВАНИЯ

UI ТЕСТИРОВАНИЕ

ТЕХНИКИ ТЕСТ ДИЗАЙНА

ТЕСТОВАЯ ДОКУМЕНТАЦИЯ

АУТЕНТИФИКАЦИЯ И АВТОРИЗАЦИЯ

POSTMAN

БАЗЫ ДАННЫХ

ТЕСТИРОВАНИЕ РЕЛИЗА

АНАЛИЗ РАБОТЫ ПРИЛОЖЕНИЯ

ПОДГОТОВКА К СОБЕСЕДОВАНИЮ

Как составить резюме Топ вопросов Тест Собеседование