4

Мне нужно проверить функции веб-API в формате REST. В настоящее время используется Selenium RC для функционального тестирования веб-сайта. И используя XmlUnit и HttpClient для функционального тестирования нашего REST API. Но, похоже, жизнь будет проще, если мы действительно можем отделить наш код функционального тестирования ко всему селену. В частности, с WebDriver от Selenium 2.0, как и раньше, проще тестировать ответы XML, используя XPath.Selenium vs XmlUnit + HttpClient для тестирования веб-REST API

Мои мысли в Pro XmlUnit+HttpClient лагеря:

  • позволяет легко испытывать с прямыми вызовами базы данных или Spring фасолью
  • легко позволяет ответы тестирования JSON, когда/если мы поддерживаем, что в будущем
  • селена предназначался для веб-интерфейса, не REST тестирования API

Мои мысли в Pro Selenium WebDriver лагере:

  • отделяет функциональное тестирование все в стандартные теста селена
  • легко проверить результаты с помощью наших тестов селена UI, дальнейшего тестирования пользовательского интерфейса
  • позволяет другим, чем основные разработчики пересмотреть функциональные тесты API
  • может быть проще использовать такие сервисы, как BrowserMob, который использует тесты селена для загрузки тестового API?
  • надеюсь, быстрее функциональные тесты с селеном рамках

Мы используем Spring 3 и Hibernate. Что лучше всего для функционального тестирования нашего API?

ответ

6

Другим вариантом может быть использование REST Assured, Java DSL для тестирования сервисов REST. Это позволяет вам писать тесты стиля устройства с небольшим шаблоном кода для XML и JSON. Кроме того, он предоставляет более расширенные функции, такие как аутентификация, проверка XSD/DTD, коды ответов, файлы cookie и т. Д. Дополнительная информация доступна на их usage page.

Отказ от ответственности: REST Гарантированный проект с открытым исходным кодом, инициированный моим коллегой.

-1

Тестирование API не похоже на функциональное тестирование, а больше похоже на модульное тестирование. Так что я бы на XMLUnit + HttpClient

+0

hmmm ... Я предполагаю, что тестирование API находится между блоком и функциональным ... хорошим моментом. – 2010-12-07 23:29:02

+1

Я бы назвал это интеграционным тестированием, а не модульным тестированием. Предполагая, что код, лежащий в основе API, тестируется на модуле, этот тип тестов будет в основном проверять правильность допусков на модульные тесты и, соответственно, различные единицы могут быть проиндексированы надлежащим образом. – 2012-09-27 14:06:33

2

Если вы хотите сделать реальное функциональное тестирование на остальных API-х, то я могу порекомендовать FitNesse с этим приспособлением: https://github.com/smartrics/RestFixture

Селен является просто плохой выбор для такого рода вещи ,

Что касается тестирования производительности, вы можете опробовать тесты API в Jmeter в течение нескольких минут, не нужно платить третьему лицу.