Привет друзья!
Продолжаю делиться полезностями по постману!
В этом посте рассказываю как сделать pre-request скрипт, который будет выполнять аутентификацию прежде чем выполнить сам запрос.
Кто тестирует АПИ наверняка сталкиватся каждый день с тем что нужно протестировать некий end-point, который требует авторизации. Затем надо проверить баг по другому функционалу, который тоже требует авторизации, но пользователь нужен другой и так далее.
У меня был проект, где надо было протестировать кредитную заявку, которая есть только у определенного пользователя, потом проверить исправления бага в функционале вкладов, которые есть у другого пользователя. И мне приходилось выполнять шаги авторизации прежде чем добирался до нужного запроса.
Не то что бы это было сложно, особенно когда правильно работаешь с переменными в постман, но всё равно отнимало время. А порой и нервы, когда выполнив авторизацию доходишь до нужного запроса и оказывается что забыл поменять пользователя. И надо заново авторизацию делать.
Вскоре я пошел гуглить, чтобы узнать как это сделать используя язык программирования JavaScript. Чата джипити, тогда еще и в помине не было, приходилось разбираться самому.
Но для такой тривиальной задачи и чатджипити не нужен, хоть он и может написать скрипт достаточно быстро. Всё необходимое есть уже в Postman. Просто надо знать, где искать.
Приступим!
Показывать буду на своём приложении, которое я разрабатываю для своих курсов, чтобы ученики практиковались в тестировании.
У меня большинство запросов реализованные требуют авторизации пользователя. Например, запрос на получения списка пользователей, которые зарегистрированы в приложении /api/users
Да и в целом добавляю новые запросы, которые нужно проверять по десять раз и меня просто раздражает каждый раз прожимать авторизацию!
Поэтому решил внедрить рабочие практики и в своё хобби.
Логика простая: при нажатии на кнопку Send, в нашем целевом запросе, Postman прежде чем его отправить смотрит в pre-request на наличие там каких-либо скриптов. Если скрипт есть, то сперва выполняет его, а уже потом отправляет сам запрос.
Соответственно наша задача в Pre-request выполнить наш запрос аутентификации, а если токен авторизации мы передаем в headers(как в моем случае), то и поместить в headers полученный токен. И только затем будет выполнен сам запрос.
Давайте сделаем это!
В общем открываем наш целевой запрос, в моем случае это /api/users.
Переходим на вкладку Scripts и далее открываем редактор pre-request: