Давно хотела написать статью-подборку с конкретными примерами, где и как я оттачивала свои знания и умения по тестированию API.
Подборка будет полезна начинающим тестировщикам для тренировки тестирования api, а также начинающим разработчикам, которые могут использовать эти api для свои учебных или pet проектов.
Итак, вот представим: вы наконец разобрались в API и теперь руки чешутся поотправлять запросы, но куда?
В сети есть множество разных api, открытых и условно бесплатных. Есть просто тренажеры, простые донельзя, а есть реальные коммерческие, которые предоставляют открытый доступ.
Вот то, что использовала я, пока училась.
1. Restful booker.
Api предоставляет возможность создать, посмотреть, изменить и удалить бронь в условный отель. Это тренажер, в нем есть косячки, но он достаточно простой и для начальной практики идеален: используются все популярные методы Rest API
2. Petstore
API имитирует магазин, где продаются домашние животные. Это тоже тренажер, уже немного посложней, здесь можно создавать разные объекты (животных, магазин, пользователя) и получать о них данные. Здесь также присутствуют разные методы.
3. The Star Wars API
Представляет собой базу знаний по вселенной Звездных войн, для фанатов это может быть даже интересно, но сам 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 для тренировок. Я пробовала эти, и мне этого было достаточно, чтобы набить руку.