Современные приложения и сервисы в большинстве своем состоят из фронтенда и бэкенда. Когда мы говорим о тестировании бэкенда, в основном речь идет о тестировании с помощью API запросов и ответов. А для этого желательно иметь под рукой необходимые инструменты. Полагаю что одним из лучших и самых популярных инструментов тестирования API является Postman. А есть ли альтернатива?
Сегодня мы рассмотрим одну из лучших альтернатив этому популярному инструменту. Особенно она понравится тем, кто работает с Postman постоянно.
Postman
Во-первых, я хотел бы перечислить наиболее востребованные возможности Postman. Создание коллекций и запуск в автоматическом режиме через Newman.
Сохранение различных сред и быстрое переключение между ними при backend-тестировании на разных стендах. А так же возможность делиться своими коллекциями и средами с членами вашей команды.
Возможность работать на любой платформе (Windows, macOS, Linux). Интеграция с Pipeline CI/CD. Но одновременно с таким впечатляющим набором возможностей, возникает резонный вопрос. А это все бесплатно?
Конечно нет. У Postman есть некоторые функции которые работают только в платной версии. Но как насчет подобных проектов с открытым исходным кодом? Может быть, они тоже хороши. Я постараюсь рассмотреть один из них.
Hoppscotch
Hoppscotch — это облегченная веб-версия для разработки API. Он был создан с нуля с учетом простоты использования и доступности, предоставляя все функции, необходимые разработчикам API, с минималистичным ненавязчивым пользовательским интерфейсом. Его можно использовать бесплатно, а в качестве дополнительного преимущества он полностью с открытым исходным кодом.
Посмотрите на его интерфейс. Ничего не напоминает?
Я думаю, есть только одно отличие от Postman. Hoppscotch работает через Интернет и не требует установки на машину. Все остальное то же самое, включая интерфейс. Но если вы попробуете использовать его, можно найти некоторые ограничения.
Например, работа всей командой одновременно с созданными вами данными невозможна. Он предоставляет, но не работает. А разработчики Hoppscotch сказали, что не будут поддерживать эту функцию. Я не обвиняю разработчиков Hoppscotch, потому что не думаю, что реализовать эти функции слишком просто. Для этого вам необходимо предоставить несколько облачных серверов. И это стоит больших денег.
Попробуем использовать этот вариант шаг за шагом. Вы открываете веб-версию и начинаете работать. Вы создаете несколько запросов API, объединяете их в коллекции и сохраняете разные среды. После этого вы решаете сохранить все это и поделиться этим с членом вашей команды.
Прежде всего, вы должны создать свою учетную запись, и есть несколько вариантов. Один из них — электронная почта.
И это подводит нас к самой волшебной части Hoppscotch, потому что вам нужно каждый раз использовать волшебную ссылку из электронного письма. Иногда письма попадают в папку со спамом. Но в итоге вы не можете работать с этой функцией, потому что в вашем аккаунте нет команды.
Однако есть хорошая новость. Разработчики Hoppscotch довели до ума данный функционал и на сегодняшний день работа в команде возможна. При добавлении новых API запросов или сред, происходит мгновенная синхронизация всех аккаунтов команды и все члены команды тут же могут этим пользоваться.
Но хотелось бы остановиться на некоторых моментах работы с функцией совместного доступа. Во-первых, во время приглашения по умолчанию выбран профиль VIEWER, который не позволяет редактировать, добавлять или удалять запросы.
Это потом не сложно исправить зайдя в профиль и изменив роль члена команды.
Но зачем тратить свое время и время коллег на излишнюю коммуникацию и исправление, когда можно сразу выбрать правильную роль.
Во-вторых, запросы и среды необходимо сохранять во вкладке Team Collections, а не во вкладке My Collections, чтобы все остальные члены команды тут же имели доступ и могли воспользоваться плодами вашего труда.
Конечно потом можно пересохранить в нужную коллекцию, но это опять же потеря времени.
Заключение
Если вы слышите о проектах с открытым исходным кодом, подумайте, кто будет за них платить. Если это абсолютно бесплатно, то вполне разумно, что этот продукт не будет так хорош, как платные конкуренты. В данной ситуации у ребят получился классный продукт, который как мне кажется вполне способен составить достойную конкуренцию платному Postman. А учитывая что интерфейсы у них очень похожи, если не сказать что это братья близнецы, то переход с одного инструмента на другой произойдет достаточно плавно и безболезненно.
Народная мудрость гласит: Любишь запросы по API отправлять, умей и json парсить! Приглашаю всех на бесплатный урок, где познакомимся с фреймворком RestAssured, позволяющим написать автотесты на API, и JsonSchemaValidator для проверки ответа от сервера.