Перевод статьи Shashi Kumar Raja Итак, допустм, вы хотите заняться автоматизацией API, но каждый раз, когда вы набираете в строке поиска в Google best api automation tool, вы видите так много ссылок на 10-ки топовых инструментов, что запутываетесь и решаете, что определенно сделаете это завтра   Давайте начнем с понимания того, что нам нужно, если мы хотим настроить (надеюсь завтра ) платформу автоматизации API. Задержи эту мысль на секунду… Я сказал, прекрати думать… Я знаю, что твой босс не выделяет ни копейки ни на какие платные инструменты. Смотри, я читаю твои мысли, не думай вслух   Платные инструменты должны быть повешены, а не выполнены :) Вам понадобится что-то, что предоставит вам наборы правил и рекомендаций для написания тестов, а также позволит вам сделать это, предоставив вам доступ к нескольким инструментам и методикам. Я слышу колокольный звон, нет!!! Хорошо, я знаю, что заставит звонить колокол. Вы когда-нибудь слышали о TESTNG, JUNIT, MOCHA, PYTEST, ROBOT!? Да, все они являются средами автоматизации тестирования. Вам нужно найти подходящую среду тестирования, основанную на ваших требованиях: какой существующий технологический стек использует ваша компания? Какую автоматизацию вы хотите сделать? Какой язык вам удобнее и т.д. Вы найдете среду автоматизации в большинстве популярных языков, которые позволят вам написать модульное, функциональное и другие виды тестирования API. Чтобы узнать больше о тестовой среде, обратитесь к 2-й части серии, где я подробно представил Mocha и Pytest. Большинство этих платформ поддерживают вызовы API, включая библиотеку запросов HTTP request library, поскольку REST API используют протокол HTTP для связи. Некоторые фреймворки, такие как mocha, дают вам свободу использовать библиотеку HTTP-запросов по вашему выбору, например superagent. Они дают вам легкую поддержку для GET, PUT,POST, DELETE и всех других методов.Вы можете передать заголовки, кэш, параметры запроса, вы его называли — вы его получили  Большинство из этих библиотек HTTP request позволят вам отправлять и получать данные в формате JSON, XML, CSV, Text, Image, form-data, encoded-data с несколькими поддерживаемыми стандартами авторизации. Они также позволяют обрабатывать код статуса ответа HTTP и проверять, получили ли мы требуемый код статуса ответа или нет. Зависит от того, откуда вы получаете тестовые данные. Эти тестовые фреймворки позволят вам использовать все возможности языка, на котором они основаны- a. База данных: вы можете легко создать соединения БД для чтения данных. b. Внешний файл: вы можете прочитать внешний текст, JSON, CSV или любые другие файлы. c. Случайные данные: вы можете использовать библиотеки, такие как faker, для генерации случайных тестовых данных на лету. d. Данные из ответа API : Много раз во время тестирования вам потребуется передать ответ одного API в качестве данных запроса другому. Вы можете сделать это, используя hooks.Вы получите функции, такие как Before, Before each, After, After each, которые, как следует из названия, выполняется до/после любого или всех тестов. Вызовите API1 перед API2, и передайте его ответ к API2. Просто направо!!! ️ Для проверки правильности ответов вам понадобится библиотека под названием Assertion library. Многие тестовые среды поставляются в комплекте с библиотеками assertion, что дает вам возможность писать assert-ы на простом английском языке, таком как синтаксис. Они также позволяют вам проверить JSON-схему вашего ответа. В mocha вы можете использовать любую библиотеку утверждений, например, chai. Большинство этих фреймворков предоставят вам базовый HTML-отчет о тестовом прогоне, который вы можете скачать и поделиться им. Если вам нужны более красивые отчеты с графиками и диаграммами, вы можете использовать несколько инструментов отчетности с открытым исходным кодом, таких как allure или mochawesome.  Что я тебе говорил, ты назвал это, ты получил  Это шаблон, который я создал для автоматизации API, используя mocha в node.js. Он включает- Если вам нужен шаблон на другом языке, я могу подготовить его к завтрашнему дню.  Если вам понравился эта статья вы можете похлопать в ладоши, это возможно сподвигнет меня написать больше