Подтвердить что ты не робот

Способы тестирования сервисов RESTful?

Я хочу протестировать свои RESTful-приложения напрямую через HTTP, и я ищу инструменты, которые могут помочь мне с этой задачей. В основном я ищу легкую оболочку для HTTP-запросов, которые могут отправлять, например. HTML-формы или сериализованные ресурсы как JSON или XML.

Было бы здорово, если бы был способ проверить, действительно ли служба выполняет архитектурные рекомендации REST (безгражданство, URI, согласование контента и т.д.).

Возможность использовать его с JUnit будет удобной премией. Знаете ли вы о каких-либо библиотеках, которые могли бы помочь мне в том, что я хочу делать (и это немного больше, чем просто простой клиент http)?

4b9b3361

Ответ 1

Посмотрите, есть ли rest-client.

Изменить: В настоящее время я использую Postman - REST Client плагин google chrome и это потрясающе!

Ответ 2

Я думаю, REST Assured будет вам очень хорошо. Очень легко отправлять запросы и анализировать ответы XML и JSON. Например. скажем, что запрос GET на "/lotto" возвращает JSON:

{
 "lotto":{
  "lottoId":5,
  "winning-numbers":[2,45,34,23,7,5,3],
  "winners":[{
   "winnerId":23,
   "numbers":[2,45,34,23,3,5]
  },{
   "winnerId":54,
   "numbers":[52,3,12,11,18,22]
  }]
 }
}

Вы можете сделать запрос и проверить ответ следующим образом:

expect().body("lotto.lottoId", equalTo(5)).when().get("/lotto");

Ответ 3

Существует также тестовая платформа Джерси (http://jersey.java.net/nonav/documentation/latest/user-guide.html#test-framework), но поскольку Йохан уже упомянул о REST-гарантированной структуре, я бы также рекомендую эту структуру - у нее есть некоторые приятные подвиги, такие как синтаксис DSL, проверка подлинности XPath и Schema, легкая загрузка файлов и использование Groovy Lambda Expressions для поиска по возвращенным структурам JSON..

Я написал две статьи.

Ответ 4

Может быть, Селен может помочь, но, конечно, не полностью.

Ответ 5

Fiddler - действительно полезный инструмент, вы можете создавать HTTP-запросы на основе XML с помощью множества глаголов запроса, таких как GET, POST, PUT, DELETE и т.д.

http://www.fiddler2.com/fiddler2/