Привет друзья!

Продолжаю делиться полезностями по постману!

В этом посте рассказываю как сделать pre-request скрипт, который будет выполнять аутентификацию прежде чем выполнить сам запрос.

Кто тестирует АПИ наверняка сталкиватся каждый день с тем что нужно протестировать некий end-point, который требует авторизации. Затем надо проверить баг по другому функционалу, который тоже требует авторизации, но пользователь нужен другой и так далее.

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

Не то что бы это было сложно, особенно когда правильно работаешь с переменными в постман, но всё равно отнимало время. А порой и нервы, когда выполнив авторизацию доходишь до нужного запроса и оказывается что забыл поменять пользователя. И надо заново авторизацию делать.

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

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

Приступим!

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

У меня большинство запросов реализованные требуют авторизации пользователя. Например, запрос на получения списка пользователей, которые зарегистрированы в приложении /api/users

image.png

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

Поэтому решил внедрить рабочие практики и в своё хобби.

Логика простая: при нажатии на кнопку Send, в нашем целевом запросе, Postman прежде чем его отправить смотрит в pre-request на наличие там каких-либо скриптов. Если скрипт есть, то сперва выполняет его, а уже потом отправляет сам запрос.

Соответственно наша задача в Pre-request выполнить наш запрос аутентификации, а если токен авторизации мы передаем в headers(как в моем случае), то и поместить в headers полученный токен. И только затем будет выполнен сам запрос.

Давайте сделаем это!

В общем открываем наш целевой запрос, в моем случае это /api/users.

Переходим на вкладку Scripts и далее открываем редактор pre-request: