Найти в Дзене

Тестирование в Postman. Углублённый Pre-request Script. Часть 5

Оглавление

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

Текст в запросе

Мы уже умеем писать скрипт в Postman. Но он есть не только в самом запросе, также есть и в нашей коллекции. К примеру нам нужно использовать какие то данные во всех тестах, мы и поместим нужный скрипт в нашу коллекцию.

-2

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

-3
let text = `Тестируем наш текст в Postman`;
console.log(text);

console.log(text); - нужен для того, чтобы явно понять, что наша фраза существует в запросе, поэтому выведем её в консоль. Консоль находится снизу.

-4

Открываем её и как раз увидим наш текст.

-5

Это простой пример реализации, бывает такое, что вам нужно отправить документ в запросе, но у него есть параметры, которые зависят от контура. Конечно можно использовать разные текста и не задумываться, но мы с вами автоматизаторы, поэтому давайте упрощать!

Добавим новую переменную

-6

Поместим это значение в переменную перед запросом

-7

И используем данную переменную в тексте

-8

В итоге получаем

-9

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

Выбрав другие переменные - в вашем запросе будут использоваться другие данные.

-10

То есть запросы идентичные, но за счёт различных параметров они будут подходить под разные условия

-11

Функции в Scripts

В начале статьи говорил про скрипты всей коллекции. Давайте туда поместим какой нибудь метод. К примеру у JavaScript есть удобный метод перевода текста в Base64 и обратно. Давайте его используем для нашего текста.

-12
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 - снова выведем в консоль

-13

Для более реальных условий, давайте предположим, что нам этот Base64 действительно нужно использовать в запросе. Подставим его вместо firstname - в методе создания записи

-14

В теле запроса указываем переменную, куда мы положили Base64

-15

Отправим запрос и увидим, что в ответе у нас отправился Base64

-16

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

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

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

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