how when use postman pre request
У цьому посібнику ми пояснимо, як і коли використовувати скрипти попереднього запиту листоноші та сценарії або тести після запиту за допомогою простих прикладів:
Аналогічно світовому модульному тестуванню, сценарій попереднього запиту - це не що інше, як налаштування, яке відбудеться до виконання тесту. Подібно до Postman, якщо ви хочете змінити запит певним чином, скрипт попереднього запиту - це місце, щоб додати цю логіку або код, що гарантує, до початку виконання запиту.
=> Тут слідкуйте за простими навчальними циклами листоноші.
Що ви дізнаєтесь:
Потік запитів листоноші
По-перше, спробуємо зрозуміти, як Postman дозволяє або дозволяє виконувати попередній і тестовий сценарії в контексті виконання запиту. Postman має потужний час виконання, який базується на Node JS, що дозволяє додавати можливості сценаріїв до та після виконання запиту.
Сценарії - це не що інше, як код Javascript, який пісочниця Поштальян розуміє і виконує за бажанням.
Зверніться до малюнка нижче, щоб зрозуміти Потік запитів листоноші.
забезпечення якості програмного забезпечення в інженерії програмного забезпечення
Ось відеоурок:
Сценарій попереднього запиту є точкою входу для виконання запиту в Postman. Якщо є якийсь скрипт / логіка, доданий як частина сценарію попереднього запиту, який виконується першим, після чого відбувається фактичне виконання запиту, а після отримання відповіді виконуються тести або сценарії пост-запиту.
Сценарії попереднього запиту
Сценарії попереднього запиту - це логіка або фрагмент коду, які гарантовано виконуються до початку виконання запиту. Це дозволяє додавати динамічну поведінку до виконання запиту.
Тут важливо зауважити, що сценарії попереднього запиту також можна застосовувати на рівні колекції, що побічно означає, що сценарій попереднього запиту застосовуватиметься до всіх запитів, що входять до цієї колекції.
Будь ласка, зверніться до малюнка нижче, щоб побачити потік запиту, коли є скрипт попереднього запиту та тести на рівні збору.
Коли використовувати сценарії попереднього запиту?
Сценарії попереднього запиту, як правило, корисні, коли перед виконанням запиту потрібна попередня обробка.
# 1)Наприклад, припустимо, у вашому запиті очікується маркер безпеки, який потрібно отримати зі стороннього сервера, і оскільки це значення змінюється при кожному виконанні запиту, його також не можна зберегти із змінними середовища / глобальних.
Сценарії попереднього запиту - ідеальне місце для виконання такої логіки, а потім їх використання для виконання запитів.
Давайте подивимось приклад того, як у цьому випадку використовувати сценарій попереднього запиту. Для ілюстрації ми будемо використовувати ту саму кінцеву точку GET API https://reqres.in/api/users/{(randomVal}}
Тут {{randomVal}} - це випадкове ціле число від 1 до 10, яке обчислюється у сценарії попереднього запиту.
Ось сценарій.
- Додайте логіку на вкладці сценарію попереднього запиту. Створіть випадкове число між 1 t0 10.
var random = Math.floor(Math.random() * 10); pm.variables.set('randomVal',random)
- Зберігайте сформоване випадкове число у середовищі або локальній змінній. У наведеному вище фрагменті коду ви можете бачити, що ми створили випадкове значення від 1 до 10 і зберегли його у локальній змінній з назвою „randomVal”.
- Використовуйте змінну середовища як частину тіла запиту.
- Виконати запит.
- Перевірте результат. Ви можете спробувати вдарити запит кілька разів і побачити отримання запиту для різних значень userIds, які були згенеровані за допомогою попереднього сценарію випадкової змінної.
# два) Сценарії попереднього запиту також корисні, коли вам потрібні певні операції, пов'язані із заголовком. Наприклад, заголовок запиту, який очікує ідентифікатор сеансу, який потрібно генерувати випадковим чином і потребує деяких інших перетворень, таких як кодування або обробка бази 64 загалом.
Використання сценаріїв попереднього та подальшого запитів із колекціями
Як обговорювалося вище, сценарії попереднього запиту також можуть застосовуватися на рівні колекції. Ці сценарії застосовуватимуться до всіх запитів, доступних у колекції. Подібно до сценаріїв попереднього запиту, тести або сценарії після запиту також можна застосовувати до колекції.
Давайте подивимося ілюстрацію сценаріїв попереднього запиту та тестів на рівні колекції та побачимо, як сценарії вводяться в дію для кожного із запитів усередині колекції.
Ми будемо використовувати колекцію листонош із 2 запитами з наступними кінцевими точками тесту.
- ОТРИМАТИ https://reqres.in/api/users/1
- Опублікувати https://reqres.in/api/register з тілом запиту як JSON з 2 полями, тобто emailId та пароль.
Для цих запитів ми додамо такі сценарії рівня колекції.
- Попередній запит: Додайте новий заголовок “Content-Type” і встановіть для нього значення “application / json”.
- Тест: В якості перевірки тесту або перевірки запиту ми перевіримо, чи отримана відповідь має код стану HTTP 200 чи ні.
Будь ласка, дотримуйтесь наведених нижче кроків
# 1) Створіть нову колекцію листонош із зазначеними вище запитами GET та POST.
# два) Клацніть правою кнопкою миші Колекція -> Виберіть редагувати додати сценарії попереднього запиту та тести на рівні колекції.
до) Для сценарію попереднього запиту виберіть вкладку «Сценарії попереднього запиту» у вікні редагування колекції та додайте наведений нижче сценарій (Цей скрипт додасть заголовок «Content-Type» із значенням application / JSON для всіх запитів усередині колекції) .
pm.request.headers.add({ key: 'Content-Type', value: 'application/json' });
б) Щоб додати тести або сценарій після запиту, додайте наведений нижче сценарій на вкладці «Тести». (Цей скрипт додасть тест для перевірки відповіді за допомогою статусу HTTP 200 для всіх запитів, що містяться в колекції).
pm.test('Status code is 200', function () { pm.response.to.have.status(200); });
в) Після додавання сценаріїв натисніть «Оновити», щоб зберегти внесені зміни.
Запитання та відповіді на співбесіду з тестуванням etl pdf
# 3) Тепер спробуємо запустити запити всередині колекції та перевірити, чи правильно встановлені сценарії та тести попереднього запиту, вказані на рівні колекції, чи ні.
# 4) Відкрийте перший запит GET і виконайте його, натиснувши на “Надіслати” кнопку. Для перегляду заголовків запитів ми можемо скористатися консоллю Postman, яка відображає повну інформацію про запит-відповідь на всі запити, які проходять через програму Postman.
Пізніше ми детально обговоримо консоль Postman, але в цьому підручнику ми просто використаємо її для перевірки заголовків запитів.
Щоб відкрити консоль, клацніть на піктограму консолі внизу ліворуч у програмі 'Листоноша', або виберіть опцію консолі в меню 'Вікно' (Зверніть увагу, подібні параметри доступні для ОС Windows, а також для програми Листоноша).
# 5) Щоб перевірити сценарії або тести після запиту, просто перевірте вкладку «Тести» виконаного запиту, і ви побачите тест для перевірки коду стану, який був доданий на рівні колекції, до 200.
Ми досягли сценаріїв на рівні колекції,
- Додавання сценаріїв попереднього запиту та тестів на рівні колекції полегшує їх обслуговування. Приклади, включати додавання загальних заголовків до всіх запитів, створення токенів сеансів для запитів через третю сторону тощо.
- Загальні сценарії / тести, такі як перевірка кодів відповідей, можуть бути розміщені на рівні колекції, щоб уникнути повторення.
Висновок
У цьому підручнику ми зупинились на сценаріях попереднього запиту та тестах або сценаріях після запитів. Ми також пройшли приклад використання цих сценаріїв на рівні колекції, щоб уникнути повторення та розміщення загальних сценаріїв на рівні колекції.
І сценарії попереднього запиту, і тести є дуже потужною та важливою особливістю Postman, і вони додають велику цінність у створенні наскрізного тесту інтеграції, особливо для кінцевих точок API на основі REST.
=> Завітайте сюди, щоб навчитися листоноші з нуля.
Рекомендована література
- Підручник з POSTMAN: Тестування API за допомогою POSTMAN
- Як використовувати листоношу для тестування різних форматів API?
- Автоматизація перевірки відповідей із твердженнями у листоноші
- Робота із запитом FTP у JMeter
- Постпроцесор Xpath Extractor у JMeter
- Короткий посібник SoapUI для зберігання даних запитів та відповідей у файлі - Підручник SoapUI # 15
- Використання постпроцесора в JMeter (екстрактор регулярних виразів)
- Колекції листонош: імпорт, експорт та створення зразків коду