API Тестирование без Postman

be91ece67438c143886496a34591bc22.jpeg

Современные приложения и сервисы в большинстве своем состоят из фронтона и бэкенда. Когда мы говорим о тестировании бэкенда, в основном речь идет о тестировании с помощью API запросов и ответов. А для этого желательно иметь под рукой необходимые инструменты. Полагаю что одним из лучших и самых популярных инструментов тестирования API является Postman. А есть ли альтернатива?

Сегодня мы рассмотрим одну из лучших альтернатив этому популярному инструменту. Особенно она понравится тем, кто работает с Postman постоянно.

Postman

Во-первых, я хотел бы перечислить наиболее востребованные возможности Postman. Создание коллекций и запуск в автоматическом режиме через Newman.

4f5935e2bbe863278232549ac02d709d.png

Сохранение различных сред и быстрое переключение между ними при backend-тестировании на разных стендах. А так же возможность делиться своими коллекциями и средами с членами вашей команды.

b1d16336a55e265ccd5ad76d32e3012c.png

Возможность работать на любой платформе (Windows, macOS, Linux). Интеграция с Pipeline CI/CD. Но одновременно с таким впечатляющим набором возможностей, возникает резонный вопрос. А это все бесплатно?

Конечно нет. У Postman есть некоторые функции которые работают только в платной версии. Но как насчет подобных проектов с открытым исходным кодом? Может быть, они тоже хороши. Я постараюсь рассмотреть один из них.

Hoppscotch

Hoppscotch — это облегченная веб-версия для разработки API. Он был создан с нуля с учетом простоты использования и доступности, предоставляя все функции, необходимые разработчикам API, с минималистичным ненавязчивым пользовательским интерфейсом. Его можно использовать бесплатно, а в качестве дополнительного преимущества он полностью с открытым исходным кодом.

Посмотрите на его интерфейс. Ничего не напоминает?

55f547c56a21b8f8a42d3cb4d75ca542.png

Я думаю, есть только одно отличие от Postman. Hoppscotch работает через Интернет и не требует установки на машину. Все остальное то же самое, включая интерфейс. Но если вы попробуете использовать его, можно найти некоторые ограничения.

Например, работа всей командой одновременно с созданными вами данными невозможна. Он предоставляет, но не работает. А разработчики Hoppscotch сказали, что не будут поддерживать эту функцию. Я не обвиняю разработчиков Hoppscotch, потому что не думаю, что реализовать эти функции слишком просто. Для этого вам необходимо предоставить несколько облачных серверов. И это стоит больших денег.

Попробуем использовать этот вариант шаг за шагом. Вы открываете веб-версию и начинаете работать. Вы создаете несколько запросов API, объединяете их в коллекции и сохраняете разные среды. После этого вы решаете сохранить все это и поделиться этим с членом вашей команды.

5dede14639272f0ca44df7744f2631cc.png

Прежде всего, вы должны создать свою учетную запись, и есть несколько вариантов. Один из них — электронная почта.

be380291f942d467f096dbeb560430ee.png

И это подводит нас к самой волшебной части Hoppscotch, потому что вам нужно каждый раз использовать волшебную ссылку из электронного письма. Иногда письма попадают в папку со спамом. Но в итоге вы не можете работать с этой функцией, потому что в вашем аккаунте нет команды.

Однако есть хорошая новость. Разработчики Hoppscotch довели до ума данный функционал и на сегодняшний день работа в команде возможна. При добавлении новых API запросов или сред, происходит мгновенная синхронизация всех аккаунтов команды и все члены команды тут же могут этим пользоваться.

Но хотелось бы остановиться на некоторых моментах работы с функцией совместного доступа. Во-первых, во время приглашения по умолчанию выбран профиль VIEWER, который не позволяет редактировать, добавлять или удалять запросы.

fc758fa991e6a722fb09d159b6c2116b.png

Это потом не сложно исправить зайдя в профиль и изменив роль члена команды.

ebaae2f0ef24540589288dfbf51d5f7f.png

Но зачем тратить свое время и время коллег на излишнюю коммуникацию и исправление, когда можно сразу выбрать правильную роль.

Во-вторых, запросы и среды необходимо сохранять во вкладке Team Collections, а не во вкладке My Collections, чтобы все остальные члены команды тут же имели доступ и могли воспользоваться плодами вашего труда.

c50bcfed2a7575b571066e8aa79d79bc.png

Конечно потом можно пересохранить в нужную коллекцию, но это опять же потеря времени.

Заключение

Если вы слышите о проектах с открытым исходным кодом, подумайте, кто будет за них платить. Если это абсолютно бесплатно, то вполне разумно, что этот продукт не будет так хорош, как платные конкуренты. В данной ситуации у ребят получился классный продукт, который как мне кажется вполне способен составить достойную конкуренцию платному Postman. А учитывая что интерфейсы у них очень похожи, если не сказать что это братья близнецы, то переход с одного инструмента на другой произойдет достаточно плавно и безболезненно.

Народная мудрость гласит: Любишь запросы по API отправлять, умей и json парсить! Приглашаю всех на бесплатный урок, где познакомимся с фреймворком RestAssured, позволяющим написать автотесты на API, и JsonSchemaValidator для проверки ответа от сервера.

© Habrahabr.ru