День 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 для создания нового пользователя на сервисе JSONPlaceholder

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 (Uniform Resource Locator): Адрес ресурса, к которому вы обращаетесь. Он указывает на конечную точку (endpoint) API и может содержать параметры, идентификаторы ресурсов и другую информацию.

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

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

Практическая часть

  • Установка и настройка Postman
  • Использование Postman для создания первых запросов
Установка Postman:

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

Нажмите на кнопку “Download the App” (Скачать приложение) в верхнем правом углу страницы.

Выберите версию 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
}

Практика

Cоздание сохраненных коллекций и наборов для тестирования разных REST API.

  1. Запустите Postman.
  2. В левой части приложения, вы увидите “Collections”. Щелкните на “Collections”, а затем на “New Folder” (или правой кнопкой мыши на “Collections” и “Add Folder”), чтобы создать новый набор. Дайте ему имя.
  3. Повторите этот шаг для создания других наборов, если вам нужно организовать тесты для разных REST API.

Завтра День 2

REST API

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

Задания

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

Создайте новый проект (коллекцию) в Postman и добавьте запросы для получения данных из API:
– написать запросы на получение  постов
– написать запросы  на создание постов
– написать запросы на редактирование постов

Продолжаем обучение

Поддержка и вопросы

Если вам требуется какая-либо поддержка или у вас возникли дополнительные вопросы, не стесняйтесь связаться с нами – мы готовы быстро оказать вам помощь.

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













    Мы также присутствуем в социальных сетях! Подписывайтесь на нас и получайте последние новости, акции, скидки, бесплатные тренинги и участие в марафонах.
    Будем рады видеть вас в нашем сообществе!

    Курсы

    Публичная оферта. Авторское право © 2024 Школа подготовки тестировщиков

    Продолжаем обучение