Найти в Дзене
Записки тестировщицы

Подборка API для практики в тестировании

Давно хотела написать статью-подборку с конкретными примерами, где и как я оттачивала свои знания и умения по тестированию API.

Подборка будет полезна начинающим тестировщикам для тренировки тестирования api, а также начинающим разработчикам, которые могут использовать эти api для свои учебных или pet проектов.

Итак, вот представим: вы наконец разобрались в API и теперь руки чешутся поотправлять запросы, но куда? 

В сети есть множество разных api, открытых и условно бесплатных. Есть просто тренажеры, простые донельзя, а есть реальные коммерческие, которые предоставляют открытый доступ.

Вот то, что использовала я, пока училась.

1. Restful booker.

Loading...

Api предоставляет возможность создать, посмотреть, изменить и удалить бронь в условный отель. Это тренажер, в нем есть косячки, но он достаточно простой и для начальной практики идеален: используются все популярные методы Rest API

  2. Petstore

https://petstore.swagger.io/

API имитирует магазин, где продаются домашние животные. Это тоже тренажер, уже немного посложней, здесь можно создавать разные объекты (животных, магазин, пользователя) и получать о них данные. Здесь также присутствуют разные методы.

3. The Star Wars API

https://swapi.dev/

Представляет собой базу знаний по вселенной Звездных войн, для фанатов это может быть даже интересно, но сам API мне показался слишком однообразным. В нем по сути реализованы только get запросы, то есть при тренировке особо не разгуляешься.

4. Spoonacular api

https://spoonacular.com/food-api

Реальный коммерческий API, предоставляет собой базу данных продуктов, блюд, рецептов, их колорийность и состав, а также некий анализатор продуктов питания. Можно подбирать рецепты по параметрам и отправлять свои рецепты на анализ. Документация большая и на английском (можете заодно прокачивать навыки чтения документации на английском), запросов огромное множество, можно поиграться с query-параметрами. Присутствуют get и post запросы. После регистрации вы получаете api key и можете использовать его в запросах. Позиционируют себя как бесплатный проект, поэтому пользоваться можно бесплатно без ограничений. Отличный API, чтобы увидеть, как могут выглядить реальные коммерческие API. Можно попробовать взять какую-то его небольшую часть и составить коллекцию запросов для полного тестового покрытия, используя принципы тестирования и техники тест-дизайна.

5. AccuWeather APIs

https://developer.accuweather.com/apis

Пользователям андройдов наверняка знакомо это название: на андройде есть виджеты погоды, использующие этот API. API предоставляет всевозможные данные о погоде. При регистрации вам выдается api key, по которому можно делать бесплатно до 50 запросов в день. Присутствуют только get запросы, но интерес его в том, что ответы выдаются достаточно сложные (длинные сложные джейсоны) - это поможет вам подготовиться к реальной работе, так как в больших коммерческих проектах важен навык работы с большими массивами данных со сложной структурой. Я использовала этот API, когда писала приложение погоды на java во время курса по изучению java. Приложение было максимально простым, без интерфейса, консольным, но я на нем как раз отрабатывала навык отправки запросов и парсинге ответов на java.  

Ну и вдобавок рекомендую попрактиковаться в тестировании SOUP API на Яндекс Спеллер.

6. Яндекс Спеллер

https://yandex.ru/dev/speller/

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

SOUP API имеет ряд отличий от REST, он все еще встречается в проектах, хоть и не так часто, как REST, поэтому рекомендую с ним ознакомиться на этом примере. Запросы можно отправлять также из Postman, но можно и изучить другой инструмент, который конкретно предназначен для этого протокола - SOUP UI.

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