Всем привет. В этой статье я расскажу, как использовал Postman для E2E тестов API, и что из этого вышло.
Про сам Postman как средство для тестирования API написано довольно много статей как и на Хабре, так и просто в вебе. А еще у них есть отличная документация и обучающий сайт (рекомендую заглянуть, снимает примерно 85% всех вопросов по использованию этого инструмента), поэтому здесь я буду акцентировать внимание именно на сценариях тестирования.
Хистори. Наша команда занимается продуктовой разработкой софта для железа - умного тренажёр. После тренировки на нем, тренажер отсылает серверу телеметрию, записанную во время тренировки. Сервер ее обрабатывает, и отдаёт результат на несколько дашбордов - юзеры могут смотреть свои показатели, видеть лидерборды, и тд. Одним из показателей, возвращаемых сервером, является кол-во сожженых калорий. Вот на корректную обработку телеметрии и выдачу в несколько статистических лидербордов этих калорий я и создам тестовый сценарий.
Что такое E2E тест в постмане? Это коллекция из запросов из разных API, которую можно запускать либо через нативный Postman-Runner, либо с помощью консольного расширения Newman. Ассертится все это через тесты на JS с использованием Chai библиотеки, которая поддерживается постманом.
Итак, начнём. Все переменные в тесте я буду создавать на уровне коллекции, чтобы не нагромождать env и global списки - там их итак много, и чтобы эти тесты можно было запускать из разных environment.
В чем будет состоять сквозной тест API? Я отправлю телеметрию упражнения (как будто бы его сделал пользователь) на сервер, а потом буду запрашивать данные с лидерборда, как будто бы пользователь после тренировки посмотрел кол-во сожжённых калорий.