В предыдущих статьях мы научились создавать запросы, сохранять значения, использовать их в других запросах. Умеем запускать наш тестовый прогон и составлять тесты. Сегодня же мы разберём запрос зависящий от авторизации, как использовать значения в теле запроса и что такое Pre-request Script.
Авторизационные данные в Headers
При отправке запросов в основном требуются авторизационные данные, они могут быть разные, начиная от возможностей, находящиеся во вкладке Authorization, заканчивая обычными Cookies.
В нашем случае есть метод из документации, в котором авторизация идёт через Headers.
Создаем PATCH запрос
Мы уже умеем использовать данные в запросе из предыдущей статьи. Нам нужен ID созданной записи. Тело запроса используем к примеру Имя Фамилия (можно другие).
{
"firstname" : "Изменил имя",
"lastname" : "Изменил фамилию"
}
Отправим наш запрос. Вернёт ошибку, так как мы не использовали данные авторизации из первого запроса. Давайте их используем. В нашей документации они должны быть расположены в Headers.
Создаём и используем наш токен
Сохраняем запрос и отправляем. В ответе получим изменённую запись
Pre-request Script
Давайте немного усложним наш тест. Будем использовать рандомные слова, чтобы мы их не знали и могли проверить в теле ответа. Для этого нам нужно сгенерировать слова, положить их в Environment, в запросе их использовать, а после проверить в Tests. Звучит сложно, но на самом деле с этим легко справятся Pre-request Script.
Pre-request Script - это шаги которые будут происходить перед запросом. Можно отправить подзапрос, можно подключиться к бд и взять от туда значения, вариантов много. Работает всё на JavaSript.
Создаем переменные в Environment
В нужном запросе создаем наш скрипт
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 полученное значение в нужную переменную.
Наши слова сохранились
Используем их в нашем запросе
Добавим проверки, которые мы уже научились создавать
Здесь мы используем pm.environment.get так как нам нужно взять значения. И далее также их используем, только уже в проверке.
Запустим наш прогон и проверим, что всё успешно отрабатывает.
Вы можете сохранить себе коллекцию по данному разделу - https://api.postman.com/collections/14548453-df841372-4131-42a1-9884-ff45954e298a?access_key=PMAT-01H21BHXSV6P93H93JRD62Q98X
Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний!