API-тестирование на Java: REST-Assured
Проблема интерфейсных тестов заключается в том, что они медленные. Именно поэтому их использование не является лучшим вариантом, если вы хотите в сжатые сроки дать разработчикам понять, поломал ли их код новый билд. Куда быстрее и надёжнее API-тесты.
Но прежде чем говорить о таком инструменте, как REST-Assured, давайте удостоверимся в том, что мы одинаково понимаем вопрос в контексте API–тестирования.
Что такое API-тестирование?
API или программные интерфейсы приложений представляют собой спецификацию, работающую в качестве интерфейса между компонентами программного обеспечения.
Как известно, большая часть функционального тестирования так или иначе «завязана» на пользовательском интерфейсе – веб-страницах, формах и т. п. Особенность API-тестирования заключается в том, что оно обходит пользовательский интерфейс и общается с приложением напрямую посредством запросов к его API.
Такое тестирование позволит вам проверить различные технологии: JMS HTTP, web-службы, базы данных. В некоторых случаях API-тестирование называют «консольным» тестированием. И если всем известный Selenium годится для браузерного тестирования, то какой инструмент лучше выбрать для тестирования служб Soap и REST? Один из вариантов — REST-Assured.
Особенности REST-Assured
REST-Assured – неплохой выбор для автоматизации API, если используется Java. Он представляет собой богатую Java-библиотеку, которую вы сможете использовать для тестирования REST-служб, основанных на HTTP. Библиотека REST-Assured изначально предназначена для QA-инженеров и интегрируется с любым фреймворком автоматизации, основанным на Java.
REST-Assured предоставляет доменно-специфичный язык, похожий на BDD, и упрощает создание автоматизированных тестов для API на Java.
Плюсы: — встроенные функции исключают программирование с нуля; — если вы применяете Serenity, REST-Assured прекрасно с ним интегрируется и позволяет совмещать REST- и UI-тесты в одном фреймворке с подробнейшими отчётами; — поддерживаются XML- и JSON-запросы/ответы.
Не секрет, что тестировать REST-службы на Java сложнее, если сравнивать с динамическими языками вроде Groovy и Ruby. Выбрав REST-Assured, вы привнесёте простоту динамических языков в сферу Java-программирования.
Кроме того, API REST-Assured создан таким образом, что вам не нужно быть экспертом по HTTP. И если команда вашего проекта в большинстве состоит из Java-разработчиков, выбор очевиден.
Научиться работать с REST-Assured вы сможете на курсе «Java QA Engineer», т.к. именно этому инструменту посвящён один из вебинаров 4-го образовательного модуля. Курс посвящён углублённой автоматизации тестирования на стеке Java и поможет вам стать профессионалом в этой области.
По материалам "Top API Testing Tools for 2020".