Помогите пожалуйста кто сталкивался с REST API для сайта и его тестированием. Как можно его протестировать простими GET и POST запросами с помощю SOAP UI и без него.
Помогите пожалуйста кто сталкивался с REST API для сайта и его тестированием. Как можно его протестировать простими GET и POST запросами с помощю SOAP UI и без него.
я сталкивался, SOAP UI - там добавляешь REST project - тип риквестов итд, парсить JSON можно написав простие манипуляции на Java или Groovy.
Так же подойдет простая библиотека Apache http client - джавишная, там просто создаешь Client-а, ему метод запроса, екзекютаешь етот запрос, и парсишь респонс.
по SoapUI очень просто можно манипулировать REST web-services
кстати вот есть еще одна хорошая ссылка, который нашел буквально сегодня
А кто не хочет использовать soapUI), какие посоветуете библиотеки, фреймворки?
Кто чем пользуется?
а какой язык программирования?
ну лучше java, но могу смерится и с python)
Речь идёт о клиентской части?
Странно, на этом портале как-то не любят Spring. А между тем, Spring (и Spring.NET)
И Spring, и Spring.NET популярны (представитель EMC говорил в 2009-м году, что половина корпоративных приложений в мире пишется не на спринг), есть книги, блоги, видео, документация. Работает то ли с пятой, то ли с шестой джавы.
Из книг рекомендую Spring In Action, Pro Spring 3 (в этой области, т.е. RestTemplate, код совместим со спринг 4) - имею обе в бумаге и доволен.
Штатные доки, гайды (примеры), конкретно по RestTemplate: вот, вот, вот.
Полезные рассылки и статьи.
Лично я начинал с указанных двух книг, после чего с лёгкостью перешёл на Spring.NET - код почти один в один с джавовским.
Мои примеры на Spring.NET (код как близнец джавовскому Spring).
Для серверной части я использую другой замечательный фреймворк .NET/Mono, прямых аналогов которому нет на джаве. Тоже с интегрированной поддержкой тестов и т.д.
Джавовский Spring-код хорошо пишется в STS или в eclipse с установленной STS.
Да, речь идет о клиентской части. Составления сложных тестов, например, создание нового юзера на сайте или восстановление пароля.
Но как то я не готова на Spring, даже не могу ответить почему)
И правильно. Спринг упрощает усложняя.
А никто не работал с http://http.jcabi.com/ или GitHub - rest-assured/rest-assured: Java DSL for easy testing of REST services ?
По синтаксису очень похож на Jersey 2.x. Не уверен, почему автор считает свой клиент лучше и проще. Возможно следует более детально изучить его доки / примеры.
И правильно. Спринг упрощает усложняя.
А о каком усложнении идёт речь? Никто же не заставляет все объекты тестового кода получать из Spring.IoC или оборачивать Spring.AOP. Это имеет смысл для фреймворков, а не для “просто кода теста”.
Больше линков, меньше слов: пример 2.7.1:
из четырёх строк кода, первые три находятся где-то в общем коде, а сам запрос - это restTemplate.getForObject(…)
пример 2.7.3: создание шаблона и добавление конвертера опять же в общем коде, сам вызов - это установка хэдеров, запрос и преобразование результатов (5 строк).
имхо вполне себе компактно и код читаемый.
А мне вот интересно, как тестировщики “запасаются” объектами для тестирования через REST.
Если интерфейсы не даны (нет доступа к исходникам, или работа идёт с клиента, который не поддерживает интерфейсы сервера), можно создать объекты двумя способами:
Интересно, каким способом сейчас пользуются.
Это возможно не поможет решению вашей проблемы, но быть может послужит подручным инструментом:
Если говорить о Chrome, то я предпочитаю DHC - не самый навороченный из доступных в Chrome и Firefox, но понравился в использовании.
Ну как видно из ссылки вашей - спринговая библиотека использует httpclient , который собственно я и советовал. Его использование тоже очень просто - строк не много, но зато не обернуто в тысячи тысяч фабрик и тп , как это любят делать в спринге. Что приводит к тому, что - да, удобно, но сути , как это реально работает - без пол литра(хорошго понимания java) не разберешься. А (это мое мнение) - понимание, что делает каждая строчка вашего кода - это признак действительно хорошего специалиста.
Плюс при подключении спринга очень часто тянется куча куча кода, который по сути то и не нужен.
Я предлагаю не разводить здесь обсуждение - спринг или не спринг.