Что такое API

Эта тема важна, так как она встречается в требованиях практически в каждой вакансии для тестировщика, даже для начинающих тестировщиков.  С API сталкиваются те, кто тестирует веб-приложения, веб-сайты, те кто тестирует интеграцию двух систем, поэтому эта тема важна. 

Набор функций API

API (application programming interface) интерфейс программирований приложений. Простыми словами это набор функций, который включает в себя саму операцию, которую выполняет API. Данные на вход и данные на выход. 

схема API

Примеры использования API 

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

Мы понимаем, какая операция нам нужна. Мы подключаем API на свой сайт. Подаём данные на вход, которые требуются и обрабатывая эти данные у себя эта платежная система выдает данные на выход и позволяет нам проводить оплату в своём интернет-магазине не разрабатывая самостоятельно платежную систему. Вся логика программы проводится на стороннем сервисе, который предоставляет эту услугу, но данные на выход уже отображаются у нас на сайте.  

Еще пример, разработали сайт и хотим, чтобы там всегда отображался прогноз погоды. Тогда мы подключаем по API функцию с гисметео и у меня на сайте отображается тоже самое, что и отображается на сайте гисметео. 

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

Получается, мы знаем какую операцию мы хотим, мы подаём определённые данные на вход и это API выдаёт нам данные на выход.

Вызов API 

Вызывать API можно несколькими способами:

Напрямуювнутри системы. API не значит, что я вызываю API именно чужой системы. Это значит что я могу вызывать API внутри собственной системы. Например, у меня система включает в себя несколько различных программ, например авторизация на сайте, выход — это разные API. Чтобы система в целом работала, одно API внутри моей системы, вызывает API внутри моей системы, но другое API. 

Из другой системы — тестировщики, которые чаще всего занимаются тестированием интеграций одной системы с другой системой. Это когда мы вызываем API из другой системы. Из примера — это оплата на сайте магазина. 

API позволяет сократить затраты на тестирование. API включает в себя логику, например авторизация на сайте, мы разрабатываем авторизацию на сайте, но у нас еще не готов графический интерфейс (мы не можем через кнопку на сайте проверить, заполнить все поля), но мы можем протестировать API без графического интерфейса. Это делается через специальные программы, например Postman и тестировщик зная, как это всё работает может без графического интерфейса протестировать API авторизации.  

Чтобы не тестировать API вручную можно настроить автотесты, чтобы например раз в час, раз в сутки, раз в два дня эти автотесты автоматически выполнялись, всё то что мы написали в Postman. Чаще всего используется язык Java Script. 

API можно вызвать косвенно. Это когда пользователь через графический интерфейс сам того не подозревая вызывает API. Когда пользователь нажимает на кнопку “оплатить”, вызывается платежная система, пользователь не знает, что это на самом деле другая программа и вызывается API другой системы, пользователь просто видит на своем интерфейсе, как у него происходит оплата. А на самом деле он вызывает API, нажимает на кнопку и подает входные данные, номер своей карты, какую сумму он хочет заплатить. А уже API платежная система ему отвечает успешная оплата либо нет. Он видит это у себя в графическом интерфейсе. 

Общение API

Когда API вызывается внутри системы это общение API называется local API, а когда у нас API вызывается из другой системы, то это общение API называется remote API. Тестировщики чаще всего сталкиваются именно с тестированием remote API, когда нужно вызвать API из другой системы. 

Ссылка на основную публикацию