В предыдущих статьях мы уже познакомились с Pre-request Script. Сегодня разберём его более детально.
Текст в запросе
Мы уже умеем писать скрипт в Postman. Но он есть не только в самом запросе, также есть и в нашей коллекции. К примеру нам нужно использовать какие то данные во всех тестах, мы и поместим нужный скрипт в нашу коллекцию.
Для примера немного усложним наши тесты. В скриптах можно не только генерировать какие либо значения, но также указывать какой либо текст, обернув его в переменную. Перейдём в первый метод Авторизации а укажем в Pre-request Script наш текст.
let text = `Тестируем наш текст в Postman`;
console.log(text);
console.log(text); - нужен для того, чтобы явно понять, что наша фраза существует в запросе, поэтому выведем её в консоль. Консоль находится снизу.
Открываем её и как раз увидим наш текст.
Это простой пример реализации, бывает такое, что вам нужно отправить документ в запросе, но у него есть параметры, которые зависят от контура. Конечно можно использовать разные текста и не задумываться, но мы с вами автоматизаторы, поэтому давайте упрощать!
Добавим новую переменную
Поместим это значение в переменную перед запросом
И используем данную переменную в тексте
В итоге получаем
Повторюсь, это самый простой пример реализации этого функционала, у вас может быть огромный текст, в котором десятки параметров и имея данные знания вы легко сможете с ними взаимодействовать.
Выбрав другие переменные - в вашем запросе будут использоваться другие данные.
То есть запросы идентичные, но за счёт различных параметров они будут подходить под разные условия
Функции в Scripts
В начале статьи говорил про скрипты всей коллекции. Давайте туда поместим какой нибудь метод. К примеру у JavaScript есть удобный метод перевода текста в Base64 и обратно. Давайте его используем для нашего текста.
global = {
utf8_to_b64 : function utf8_to_b64( str ) {
return btoa(unescape(encodeURIComponent( str )));
},
b64_to_utf8 : function b64_to_utf8( str ) {
return decodeURIComponent(escape(atob( str )));
}
}
Теперь эту функцию мы можем использовать для нашего текста, чтобы отправить его в формате Base64. Для этого пропишем следующий скрипт
pm.variables.set("document", global.utf8_to_b64(text))
Сначала подставим значения - выведем в консоль - затем переведём в Base64 - снова выведем в консоль
Для более реальных условий, давайте предположим, что нам этот Base64 действительно нужно использовать в запросе. Подставим его вместо firstname - в методе создания записи
В теле запроса указываем переменную, куда мы положили Base64
Отправим запрос и увидим, что в ответе у нас отправился Base64
Сейчас вы уже обладаете знаниями опытного автотестировщика. Вы не просто меняете значения, вы используете параметры в зависимости от условий не меняя сами запросы. В следующих статья продолжим разбирать возможности Postman.
Вы можете сохранить себе коллекцию по данному разделу - https://api.postman.com/collections/14548453-df841372-4131-42a1-9884-ff45954e298a?access_key=PMAT-01H21BHXSV6P93H93JRD62Q98X
Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний!