![](https://habrastorage.org/getpro/habr/upload_files/be9/1ec/e67/be91ece67438c143886496a34591bc22.jpeg)
Современные приложения и сервисы в большинстве своем состоят из фронтенда и бэкенда. Когда мы говорим о тестировании бэкенда, в основном речь идет о тестировании с помощью API запросов и ответов. А для этого желательно иметь под рукой необходимые инструменты. Полагаю что одним из лучших и самых популярных инструментов тестирования API является Postman. А есть ли альтернатива?
Сегодня мы рассмотрим одну из лучших альтернатив этому популярному инструменту. Особенно она понравится тем, кто работает с Postman постоянно.
Postman
Во-первых, я хотел бы перечислить наиболее востребованные возможности Postman. Создание коллекций и запуск в автоматическом режиме через Newman.
![](https://habrastorage.org/getpro/habr/upload_files/4f5/935/e2b/4f5935e2bbe863278232549ac02d709d.png)
Сохранение различных сред и быстрое переключение между ними при backend-тестировании на разных стендах. А так же возможность делиться своими коллекциями и средами с членами вашей команды.
![](https://habrastorage.org/getpro/habr/upload_files/b1d/163/36a/b1d16336a55e265ccd5ad76d32e3012c.png)
Возможность работать на любой платформе (Windows, macOS, Linux). Интеграция с Pipeline CI/CD. Но одновременно с таким впечатляющим набором возможностей, возникает резонный вопрос. А это все бесплатно?
Конечно нет. У Postman есть некоторые функции которые работают только в платной версии. Но как насчет подобных проектов с открытым исходным кодом? Может быть, они тоже хороши. Я постараюсь рассмотреть один из них.
Hoppscotch
Hoppscotch — это облегченная веб-версия для разработки API. Он был создан с нуля с учетом простоты использования и доступности, предоставляя все функции, необходимые разработчикам API, с минималистичным ненавязчивым пользовательским интерфейсом. Его можно использовать бесплатно, а в качестве дополнительного преимущества он полностью с открытым исходным кодом.
Посмотрите на его интерфейс. Ничего не напоминает?
![](https://habrastorage.org/getpro/habr/upload_files/55f/547/c56/55f547c56a21b8f8a42d3cb4d75ca542.png)
Я думаю, есть только одно отличие от Postman. Hoppscotch работает через Интернет и не требует установки на машину. Все остальное то же самое, включая интерфейс. Но если вы попробуете использовать его, можно найти некоторые ограничения.
Например, работа всей командой одновременно с созданными вами данными невозможна. Он предоставляет, но не работает. А разработчики Hoppscotch сказали, что не будут поддерживать эту функцию. Я не обвиняю разработчиков Hoppscotch, потому что не думаю, что реализовать эти функции слишком просто. Для этого вам необходимо предоставить несколько облачных серверов. И это стоит больших денег.
Попробуем использовать этот вариант шаг за шагом. Вы открываете веб-версию и начинаете работать. Вы создаете несколько запросов API, объединяете их в коллекции и сохраняете разные среды. После этого вы решаете сохранить все это и поделиться этим с членом вашей команды.
![](https://habrastorage.org/getpro/habr/upload_files/5de/de1/463/5dede14639272f0ca44df7744f2631cc.png)
Прежде всего, вы должны создать свою учетную запись, и есть несколько вариантов. Один из них — электронная почта.
![](https://habrastorage.org/getpro/habr/upload_files/be3/802/91f/be380291f942d467f096dbeb560430ee.png)
И это подводит нас к самой волшебной части Hoppscotch, потому что вам нужно каждый раз использовать волшебную ссылку из электронного письма. Иногда письма попадают в папку со спамом. Но в итоге вы не можете работать с этой функцией, потому что в вашем аккаунте нет команды.
Однако есть хорошая новость. Разработчики Hoppscotch довели до ума данный функционал и на сегодняшний день работа в команде возможна. При добавлении новых API запросов или сред, происходит мгновенная синхронизация всех аккаунтов команды и все члены команды тут же могут этим пользоваться.
Но хотелось бы остановиться на некоторых моментах работы с функцией совместного доступа. Во-первых, во время приглашения по умолчанию выбран профиль VIEWER, который не позволяет редактировать, добавлять или удалять запросы.
![](https://habrastorage.org/getpro/habr/upload_files/fc7/58f/a99/fc758fa991e6a722fb09d159b6c2116b.png)
Это потом не сложно исправить зайдя в профиль и изменив роль члена команды.
![](https://habrastorage.org/getpro/habr/upload_files/eba/ae2/f0e/ebaae2f0ef24540589288dfbf51d5f7f.png)
Но зачем тратить свое время и время коллег на излишнюю коммуникацию и исправление, когда можно сразу выбрать правильную роль.
Во-вторых, запросы и среды необходимо сохранять во вкладке Team Collections, а не во вкладке My Collections, чтобы все остальные члены команды тут же имели доступ и могли воспользоваться плодами вашего труда.
![](https://habrastorage.org/getpro/habr/upload_files/c50/bcf/ed2/c50bcfed2a7575b571066e8aa79d79bc.png)
Конечно потом можно пересохранить в нужную коллекцию, но это опять же потеря времени.
Заключение
Если вы слышите о проектах с открытым исходным кодом, подумайте, кто будет за них платить. Если это абсолютно бесплатно, то вполне разумно, что этот продукт не будет так хорош, как платные конкуренты. В данной ситуации у ребят получился классный продукт, который как мне кажется вполне способен составить достойную конкуренцию платному Postman. А учитывая что интерфейсы у них очень похожи, если не сказать что это братья близнецы, то переход с одного инструмента на другой произойдет достаточно плавно и безболезненно.
Народная мудрость гласит: Любишь запросы по API отправлять, умей и json парсить! Приглашаю всех на бесплатный урок, где познакомимся с фреймворком RestAssured, позволяющим написать автотесты на API, и JsonSchemaValidator для проверки ответа от сервера.