Найти тему

Тестирование в Postman. Углубленное использование Environment, пишем скрипт в Pre-request Script. Часть 3

Оглавление

В предыдущих статьях мы научились создавать запросы, сохранять значения, использовать их в других запросах. Умеем запускать наш тестовый прогон и составлять тесты. Сегодня же мы разберём запрос зависящий от авторизации, как использовать значения в теле запроса и что такое Pre-request Script.

Авторизационные данные в Headers

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

В нашем случае есть метод из документации, в котором авторизация идёт через Headers.

Создаем PATCH запрос

-2

Мы уже умеем использовать данные в запросе из предыдущей статьи. Нам нужен ID созданной записи. Тело запроса используем к примеру Имя Фамилия (можно другие).

{
"firstname" : "Изменил имя",
"lastname" : "Изменил фамилию"
}

Отправим наш запрос. Вернёт ошибку, так как мы не использовали данные авторизации из первого запроса. Давайте их используем. В нашей документации они должны быть расположены в Headers.

-3

Создаём и используем наш токен

-4

Сохраняем запрос и отправляем. В ответе получим изменённую запись

-5

Pre-request Script

Давайте немного усложним наш тест. Будем использовать рандомные слова, чтобы мы их не знали и могли проверить в теле ответа. Для этого нам нужно сгенерировать слова, положить их в Environment, в запросе их использовать, а после проверить в Tests. Звучит сложно, но на самом деле с этим легко справятся Pre-request Script.

Pre-request Script - это шаги которые будут происходить перед запросом. Можно отправить подзапрос, можно подключиться к бд и взять от туда значения, вариантов много. Работает всё на JavaSript.

Создаем переменные в Environment

-6

В нужном запросе создаем наш скрипт

-7
let name = pm.variables.replaceIn('{{$randomWord}}');
let Lastname = pm.variables.replaceIn('{{$randomWord}}');
pm.environment.set("Name", name)
pm.environment.set("LastName", Lastname)

Создаём переменную name - используем скрипт для замены значения в этой переменной - используем генерацию рандомного слова - помещаем с помощью environment.set полученное значение в нужную переменную.

Наши слова сохранились

-8

Используем их в нашем запросе

-9

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

-10

Здесь мы используем pm.environment.get так как нам нужно взять значения. И далее также их используем, только уже в проверке.

Запустим наш прогон и проверим, что всё успешно отрабатывает.

-11

Вы можете сохранить себе коллекцию по данному разделу - https://api.postman.com/collections/14548453-df841372-4131-42a1-9884-ff45954e298a?access_key=PMAT-01H21BHXSV6P93H93JRD62Q98X

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

Обучение тестированию