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

Script developer cat

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

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

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

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

1. Объявление переменных. Ключевое слово var позволяет объявить переменную.

Объявление переменной с именем name и строковым значением
var name = "Кот-астронавт";
Объявление переменной с именем age и числовым значением
var age = 4;
Объявление переменной с именем isGinger и логическим значением
var isGinger = true;

2. Создание функций. Функции создаются с ключевым словом function.

Создание функции sum с аргументами - двумя числами, которые будут сложены, а их сумма возвращена
function sum(a, b) {
    return a + b;
}

3. Вызов функций. Функции вызываются по имени и могут принимать аргументы, на основании которых будут произведены действия.

Вызов функции sum с аргументами - двумя числами, которые будут сложены при выполнении функции
sum(1, 3)
Вызов функции, которая при выполнении выведет сообщение в консоль
console.log("it's my log message")

Свойства и методы объекта 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 можно автоматизировать часть работы: сгенерировать тестовые данные, подготовить запрос, написать автоматические проверки ответов сервера.

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

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

ВВЕДЕНИЕ

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

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

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

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

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

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

POSTMAN

БАЗЫ ДАННЫХ

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

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

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

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