Про API для начинающих тестировщиков. Разница между REST и SOAP. 2022

Что такое API? Коротко расскажу основное для начинающих, что необходимо знать или хотя бы просто услышать разок, но без зубрежки.

Поставь лайк статье

Что вы узнаете:

  • Что такое API?
  • Где можно увидеть пример API?
  • Как работает API?
  • Какая разница между REST и SOAP?

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

Например, одна система дергает через API какой-то метод другой системы. Она может получить данные из другой системы или наоборот, отправить данные в эту систему.

По сути всё, что мы делаем в UI(интерфейс пользователя), даже простое открытие сайта или выбор значений в полях, можно делать и через API, соответственно тестировать.

Ниже прикрепил простой пример кода для работы с сервером.

Пример из моего кода. Смотрите на команду fetch.
Пример из моего кода. Смотрите на команду fetch.

API включает в себя:

  1. Операция
  2. Данные на входе
  3. Данные на выходе

Где можно увидеть пример API? Элементарно. Откройте консоль разработчика(F12) и найдите любой запрос в Network. А! Ну все! Вы видите ранее невидимый вам API. Далее зайдите в ответы и запросы. Тут вы увидите обычно формат json, а это уже тема способа работы API, например REST API и SOAP API.

Как работает API?

Вы кликаете на кнопку в одном приложении с точки зрения клиента, где далее идет запрос на сервер, откуда пойдёт вам ответ. Обычно так можно объяснить работу архитектуры API.

Существует несколько способов работы API, например:

  • SOAP API
  • REST API
  • Websocket API
  • RPC API

REST - это архитектурный стиль взаимодействия компонентов приложения в сети, также это особый тип Web API. Архитектурный стиль - это набор ограничений и принципов проектирования свойств системы, которые необходимы для лучшего масштабирования и интеграции с другими сервисами.

Модель REST API
Модель REST API

SOAP - это протокол, по которому взаимодействуют веб-сервисы между друг другом или с клиентом.

Websocket API - это одна из разработок web API, которая позволяет открыть постоянное двунаправленное сетевое соединение между клиентом и сервером. Использует JSON для передачи данных.

Пример типов сообщений:

  • Subscribe (подписка на топик)
  • Unsubscribe (отписка на топик)
  • Message (получение сообщений)
  • Oauth.logheartbit (контроль статуса соединения)

В тестировании удобная штука, которая дает понимание общения между GUI и сервером. Если нет Websocket, то возможно есть проблемы, которые нужно сообщить бэкенд разработчику.

Пример websocket в консоле
Пример websocket в консоле

RPC API - система удаленного вызова процедур. Клиент совершает функцию на сервере, и сервер отправляет обратно результат.

Какая разница между SOAP и REST?

Клиент-серверная архитектура приложения 
Клиент-серверная архитектура приложения 

В SOAP и REST передача данных идет также, то есть по HTTP протоколу. Но все же SOAP это просто протокол. То картинка будет иной.

Клиент и сервер SOAP
Клиент и сервер SOAP

Клиент и сервер общаются через протокол HTTP, но по нему отправляется не стандартное сообщение, а именно написаное по правилам протокола SOAP.

Основное отличие, наверное, это то, что REST в основном общается(response/request в запросах) или обменивается сообщениями через JSON, XML или другой формат(нету фиксированного формата обмена сообщений), а SOAP через XML(это фиксированный формат).

REST сейчас топ по-популярности, чем SOAP. Также он более дешёвый, простой в использовании и поддержке.

Резюме.

В этой статье мы рассмотрели API и поняли ее аспекты, также узнали про некоторую разницу между REST и SOAP.

Также рекомендую изучить для полной картины данную статью:

Подписывайся на телеграмм канал для будущих тестировщиков:

Василий Волгин - Full Stack тестировщик
Василий Волгин - Full Stack тестировщик
66
7 комментариев

Статья настолько поверхностная и искаженная, что не выдерживает никакой критики. Сразу видно вчерашнего вайтишника после курсов.

Вам бы начинать писать статьи года через 3-4, когда уже появится какое-то понимание того, о чем пишите.

Ваша критика настолько поверхностная и искаженная, что можно ответить через 3-4 года))))

Какой-то дешёвый этот REST, не буду на нём АПИ делать

На чем его будете делать?)