День 1

REST API Testing Bootcamp

Визначення REST API та його застосування.
Приклади найпопулярніших REST API.
Спільно створимо запит до REST API та проаналізуємо результати.

REST API (Representational State Transfer Application Programming Interface)

- це архітектурний стиль, який використовується для розробки веб-сервісів, який надає структурований спосіб взаємодії між клієнтами та серверами.

REST API базується на кількох ключових принципах

Ресурси

Ресурси є дані або об'єкти, до яких можна звернутися через URL (Uniform Resource Locator). Кожен ресурс має унікальний ідентифікатор.

HTTP Методи

REST API використовує стандартні HTTP методи, такі як GET (отримання даних), POST (створення даних), PUT (оновлення даних) та DELETE (видалення даних), для взаємодії з ресурсами.

Подання

Дані сервера можуть бути в різних форматах, таких як JSON, XML, HTML та інші. Клієнти можуть вибирати подання даних, яке їм найзручніше.

Застосування REST API

REST API широко застосовується у багатьох областях, включаючи:

Веб-сервіси

REST API використовується для створення веб-сервісів, що надають доступ до даних та функціональності через Інтернет. Це дозволяє розробникам інтегрувати різні програми та послуги.

Соціальні мережі

Популярні соціальні мережі, такі як Facebook та Twitter, надають REST API для доступу до даних профілів, постів та іншої інформації.

Мобільні додатки

Безліч мобільних програм використовує REST API для отримання даних з віддалених серверів. Це дозволяє програмам оновлювати інформацію та взаємодіяти із зовнішніми ресурсами.

IoT

REST API використовується для взаємодії з пристроями IoT, дозволяючи контролювати та моніторити розумні пристрої через Інтернет.

Приклади популярних REST API

Twitter API

Дозволяє розробникам отримувати доступ до твітів, профілів користувачів та багатьох інших даних із Twitter.

Google Maps API

Надає доступ до геолокаційних даних, карт та маршрутів.

GitHub API

Дозволяє керувати репозиторіями, переглядати код та створювати запити на злиття.

Facebook Graph API

Надає доступ до даних Facebook, включаючи профілі користувачів та їхніх друзів.

RESTful Web Services

Багато компаній надають REST API для своїх продуктів та сервісів, таких як Amazon Web Services (AWS) API та Microsoft Azure API.

Протокол HTTP (Hypertext Transfer Protocol) визначає основні методи, які можуть використовувати клієнти для взаємодії з веб-серверами. Нижче наведено основні методи HTTP:

GET:

Метод GET використовується для запиту даних із веб-сервера. Коли клієнт надсилає GET-запит, він запитує ресурс (наприклад, веб-сторінку) на сервері. GET-запити можуть містити параметри URL, але вони обмежені в довжині, і вони не повинні змінювати стан сервера. GET-запити є ідемпотентними, що означає, що багаторазове виконання того самого GET-запиту не повинно змінювати стан сервера.

PUT:

PUT використовується для оновлення або створення ресурсу на сервері. Клієнт відправляє дані, які мають бути поміщені на сервер у вказане місце. Якщо ресурс існує, він оновлюється; якщо ні, він створюється.

POST:

Метод POST використовується для надсилання даних на сервер для обробки. Цей метод часто використовується при надсиланні форм та інших даних, які можуть змінювати стан сервера. POST-запити можуть містити дані в тілі запиту і можуть бути не ідемпотентними, що означає, що багаторазове виконання одного й того самого POST-запиту може призвести до різних результатів.

DELETE:

Метод DELETE використовується видалення ресурсу на сервері. Клієнт надсилає запит на видалення ресурсу, вказуючи його URL-адресу. Цей метод дозволяє клієнту видалити ресурс із сервера.

JSON

JavaScript Object Notation

це формат обміну даними, який використовується для зберігання та передачі структурованих інформаційних об'єктів між комп'ютерами. JSON легко читаємо для людини та легко парситься для багатьох програмних мов.

				
					{
  "name": "Ivan",
  "age": 30,
  "married": false,
  "int": ["travel", "music", "sport"]
}

				
			

Створення запиту до REST API:

Давайте разом створимо найпростіший запит до REST API. Наприклад, ми можемо використовувати JSONPlaceholder, який надає фейковий REST API для тестування. Давайте зробимо GET-запит для отримання списку користувачів:
GET https://jsonplaceholder.typicode.com/users

Результати цього запиту будуть повернуті у форматі JSON та містять інформацію про користувачів

POST https://jsonplaceholder.typicode.com/users

{
«name»: «User»,
«username»: «new_user»,
«email»: «test@test.com»
}

Це приклад створення POST-запиту Postman для створення нового користувача.

PUT https://jsonplaceholder.typicode.com/users/1

{
«name»: «Edit user»,
«username»: «new_username»,
«email»: «newemail@example.com»
}

Це приклад створення PUT-запиту Postman для оновлення інформації про користувача.

DELETE https://jsonplaceholder.typicode.com/users/1

Це приклад створення DELETE-запиту Postman для видалення користувача.

Структура запитів та відповідей

  1. Метод запиту (Request Method): Метод HTTP, який визначає дію, яку потрібно виконати. Загальні методи включають GET, POST, PUT, DELETE та інші.

  2. URL (Уніфікований покажчик ресурсу):: Адреса ресурсу, до якого ви звертаєтеся Він вказує на кінцеву точку (endpoint) API та може містити параметри, ідентифікатори ресурсів та іншу інформацію.

  3. Заголовки (Headers): Заголовки HTTP, які містять додаткову інформацію про запит, таку як тип контенту, автентифікація, кешування та інші метадані.

  4. Тіло запиту (Request Body): Дані, які ви надсилаєте на сервер. У REST API дані часто надсилаються у форматі JSON, і вони можуть містити інформацію про створення, оновлення або видалення ресурсу.

Практична частина

  • Встановлення та налаштування Postman
  • Використання Postman для створення перших запитів
Установка Postman:

Перейдіть на офіційний сайт Postman: https://www.postman.com/.

Натисніть кнопку «Завантажити програму» у верхньому правому кутку сторінки.

Виберіть версію Postman для операційної системи (Windows, macOS, Linux) та натисніть посилання «Download» (Завантажити).

Після завершення завантаження встановіть Postman, дотримуючись інструкцій на екрані.

Налаштування Postman:

Налаштування Postman:

  1. Запустіть Postman після встановлення.

  2. При першому запуску вас попросять увійти до свого облікового запису Postman, або ви можете вибрати опцію "Skip signing in and take me straight to the app".

  3. Після входу в програму ви побачите основне вікно Postman.

  4. Якщо у вас є колекції або середовища (environments), ви можете імпортувати їх зі старої версії Postman або створити нові.

  5. Натисніть кнопку «New» (Створити) у лівій частині вікна Postman, щоб створити новий запит. Ви можете вибрати "Request" (Запит) або "Collection" (Колекцію), залежно від того, що ви хочете створити.

Документація по API проєкту

Написання тест-кейсу (GET)

Назва: Отримання всіх постів (Get All Posts)

Кроки (Steps)::

GEThttps://jsonplaceholder.typicode.com/posts.

Очікуваний результат (Expected):

Відповідь повинна мати статус код 200 (OK).

Пріоритет (Priority): Середній

Створення нової колекції в Postman:

Клацніть на Collections в лівій частині програми.

Натисніть New Collection і дайте їй ім'я, наприклад, API.

Створення нового запиту:

Виберіть створену колекцію.

Натисніть кнопку «Add Request» всередині колекції.

Назвіть запит, наприклад, Get All Posts.

Налаштування запиту:

У розділі «Request» виберіть HTTP метод, який потрібно використовувати. Для отримання всіх постів виберіть «GET».

У полі "Request URL" https://jsonplaceholder.typicode.com/posts.

Надсилання запиту:

Натисніть кнопку "Send" праворуч від URL.

Перегляд відповіді:

Після надсилання запиту ви побачите відповідь API в розділі Response нижче. Тут ви зможете побачити статус-код, заголовки та тіло відповіді.

Написання тест-кейсу (POST)

Назва: Створення нового посту (POST)
Precondition: POSThttps://jsonplaceholder.typicode.com/posts

Кроки (Steps)::
{
«title»: «New post»,
«body»: «Body»,
«userId»: «1»
}

Очікуваний результат (Expected):

Відповідь повинна мати статус код 201 (Created).

У відповіді має бути створена посада із зазначеними даними.

Пріоритет (Priority): Високий

Створіть новий запит (POST) у колекції:

Виберіть створену колекцію.

Натисніть кнопку «Add Request» всередині колекції.

Назвіть запит «Create New Post» та вкажіть метод «POST».

Налаштуйте запит:

У розділі "Request" виберіть HTTP метод "POST".

У полі "Request URL" https://jsonplaceholder.typicode.com/posts.

Перейдіть до розділу "Headers" і переконайтеся, що у вас є заголовок "Content-Type" зі значенням "application/json".

Перейдіть до розділу «Body».
Виберіть опцію "raw".
Введіть JSON-дані для створення нового посту. Наприклад:

Налаштуйте тіло запиту:

{
«title»: «New post»,
«body»: «Body»,
«userId»: 1
}

Написання тест-кейсу (PUT)

Назва: Оновлення даних посту (PUT)

Preconditions: Створення посту або наявність посту для оновлення.

Кроки (Steps)::

  1. Надіслати PUT-запит по URL для оновлення конкретного поста, наприклад: https://jsonplaceholder.typicode.com/posts/1.
  2. В тілі запиту надіслати JSON-об'єкт з оновленими даними посту (наприклад, заголовок та текст посту).
  3. Перевірити статус-код відповіді (HTTP Status) на рівність 200 (OK).
  4. Перевірити, чи відповідь містить оновлені дані посту, згідно з відправленими даними.

Очікуваний результат (Expected):

  • Відповідь повинна мати статус код 200 (OK).
  • У відповіді мають бути оновлені дані посту відповідно до надісланих даних.

Пріоритет (Priority): Високий

Створіть новий запит (PUT) у колекції:

Виберіть створену колекцію.

Натисніть кнопку «Add Request» всередині колекції.

Назвіть запит Update Post і вкажіть метод PUT.
Налаштуйте запит:

У розділі "Request" виберіть HTTP метод "PUT".

У полі «Request URL» введіть URL для оновлення певного поста, наприклад, https://jsonplaceholder.typicode.com/posts/1 для оновлення посту з ідентифікатором 1.

Перейдіть до розділу "Headers" і переконайтеся, що у вас є заголовок "Content-Type" зі значенням "application/json".

Налаштуйте тіло запиту:

  • Перейдіть до розділу «Body».
  • Виберіть опцію "raw".
  • Введіть JSON-дані з оновленими значеннями посту. Наприклад:

{
«title»: «Edit post»,
«body»: «Edit post»,
«userId»: 1
}

Практика

Створення збережених колекцій та наборів для тестування різних REST API.

  1. Запустити Postman.
  2. У лівій частині програми ви побачите «Collections». Клацніть на Collections, а потім на New Folder (або правою кнопкою миші на Collections і Add Folder), щоб створити новий набір. Дайте йому ім'я.
  3. Повторіть цей крок для створення інших наборів, якщо потрібно організувати тести для різних REST API.

ЗАВТРА ДЕНЬ 2

REST API

Поглиблений огляд Postman та його розширених можливостей.
Створення та виконання більш складних запитів та колекцій.
Розробка та налагодження сніпетів для автоматизації тестування.

Завдання

Вивчіть документацію API і спробуйте покрити їх тест-кейсами:
- написати позитивні (негативні) кейси для отримання постів
- написати позитивні (негативні) кейси для створення постів
- написати позитивні (негативні) кейси для редагування постів

Створіть новий проєкт (колекцію) у Postman та додайте запити для отримання даних з API:
- написати запити на отримання постів
- написати запити на створення постів
- написати запити на редагування постів

Продовжуємо навчання

Підтримка та питання

Якщо вам потрібна будь-яка підтримка або у вас виникли додаткові питання, не соромтеся зв'язатися з нами, ми готові швидко надати вам допомогу.

Через чат-бот













    Продовжуємо навчання