2008-10-03 5 views
54

Я ищу простой способ отладки служб RESTful. Например, большинство webapps можно отладить с помощью вашего среднего веб-браузера. К сожалению, тот же браузер не позволит мне проверять HTTP PUT, DELETE и до некоторой степени даже HTTP POST.Как отлаживать службы RESTful?

Я не ищу автоматизировать тесты. Я бы хотел запустить новые службы с помощью быстрой проверки работоспособности, в идеале без необходимости писать собственный клиент.

ответ

32

Используйте существующий инструмент «REST client», который позволяет легко проверять запросы и ответы, например RESTClient.

+0

Оба они выглядят как чрезвычайно интересные инструменты, спасибо за указатели! – rjray 2008-10-03 09:04:16

+0

Я использую первый, работает просто приятно для меня. – Forhad 2012-06-28 11:58:42

+0

Я написал клиентский плагин REST под названием Requester for Sublime Text, https://github.com/kylebebak/Requester. Он вдохновлен HTTPie и Postman. Он очень мощный и простой в использовании, и он кросс-платформенный. Если вы не любите свой HTTP-клиент, это определенно стоит попробовать. – kylebebak 2017-08-17 03:54:21

4

Вы можете использовать Скрипач Composer для отладки restful services ..

Обновлено JD 12 сентября 2013: Rest Builder теперь называется Композитор.

+0

Ссылка на запрос Builder выше сломана. – helcim 2012-03-06 14:57:32

0

Помимо использования одного из инструментов в ответе Питера Хилтона, я должен сказать, что сценарий тестов с помощью LWP или какого-то подобного инструмента может быть вашим единственным вариантом. You может обходить использование LWP, просто открыв сокет, отправив необработанный HTTP-запрос и исследуя, что вы получаете взамен. Но, насколько я знаю, существует нехватка инструментов тестирования для такого рода доменов - большинство из них смотрят на это проблемное пространство в основном из объектива разработчика веб-сайта, и для них достаточно браузера тестовой платформы ,

3

cURL работает просто отлично.

0

Я использую restclient, доступный от Google Code. Это простое приложение Java Swing, которое поддерживает все методы HTTP и позволяет вам полностью контролировать заголовки HTTP, conneg и т. Д.

0

Я стараюсь писать модульные тесты для ресурсов RESTful, используя Jersey, который поставляется с приятным клиентом REST. Самое приятное, если вы реализуете свои ресурсы RESTful с помощью JAX-RS, тогда клиент Джерси может повторно использовать поставщиков сущностей, таких как JAXB/XML/JSON/Atom, и так далее - чтобы вы могли повторно использовать те же объекты на стороне сервера, что и вы использовать на тестировании на стороне клиента.

Например, here is a unit test case от Apache Camel project, который ищет XML-полезные ресурсы из ресурса RESTful (используя конечные точки объекта JAXB). Метод ресурса (uri) определен в this base class, который просто использует API-интерфейс клиента Джерси.

например.

clientConfig = new DefaultClientConfig(); 
client = Client.create(clientConfig); 

resource = client.resource("http://localhost:8080"); 
// lets get the XML as a String 
String text = resource("foo").accept("application/xml").get(String.class); 
15

В моей фирме мы используем различные инструменты и подходы к тестированию RESTful услуги:

  • Мы пишем cURL скрипты - по существу одну команду, сохраненную в файле. Один файл на ресурс для каждого метода. Для PUT и POST обычно мы будем иметь файлы, содержащие представления для отправки вместе с скриптом cURL. Например, для ресурса почтового ящика у нас может быть файл с именем mailbox_post.cmd, который может содержать строку curl -v -X POST -u username -H 'Content-Type:application/xml' -d @mailbox_post.xml http://service/mailbox. Нам этот подход нравится, потому что мы создаем коллекцию тестов, которые можно запускать в пакете или, по крайней мере, проходить между тестировщиками и использовать для регрессионного тестирования.

  • Мы используем скручиваются и RESTClient для Ad-Hoc тесты

  • Мы имеем службу служить XHTML по умолчанию, так что просматриваемый, а также добавлять формы ресурсов, поэтому сервис на самом деле частично или полностью проверяемых с помощью браузера , Частично это было вызвано некоторыми частями RESTful Web Services, в которых авторы показывают, что линия между веб-службами и веб-приложениями может оказаться не такой твердой и строгой, как принято считать.

  • Мы записываем функциональные тесты как замыкания Groovy, используя фреймворк Restlet, и запускаем тесты с помощью скрипта Groovy для тестового запуска. Это полезно, потому что тесты могут быть устойчивыми, строить друг на друге и совместно использовать переменные. Мы находим, что API-интерфейс Restlet является простым и интуитивно понятным, поэтому он легко записывает быстрые HTTP-запросы и проверяет ответы, и это еще проще при использовании в Groovy. (Я надеюсь разделить эту технику, в том числе второго места сценария теста на our blog в ближайшее время.)

5

инструмента я нашел полезным, если вы используете OS X Leopard:

HTTP Client

Это очень простая программа GUI, которая позволяет обрабатывать HTTP-запросы к ресурсу и просматривать ответ.

0

Firefox имеет RESTClient плагин для отправки другого запроса с методами, параметры, заголовками и т.д.

0

Вы, ребята, должны проверить расширение для firefox, это просто и полезно для использования :)

12

Расширение Google Chrome может быть полезно.

2

Я использую мыльный интерфейс для тестирования моего REST API.

Это более полный, чем любые другие инструменты:

  • мелких запросов отладки и ответы
  • автоматизированное тестирование
  • все GUI на основе
  • свойства и свойства передачи спараметрировать тесты
  • условно испытания
  • испытания на работоспособность

Я не работаю для SmartBear. Я уже был большим поклонником SoapUI, используя его для SOAP WebServices.

My SoapUI REST Project

3

Я осела на POSTMAN

Он поддерживает все функции REST я мог думать, и интерфейс абсолютно отлично. Единственным недостатком является то, что для него требуется Chrome.

8

Я нашел RequestBin полезным для отладки запросов REST. Сообщение на уникальный URL-адрес и данные запроса обновляются/отображаются. Может помочь, если другие инструменты недоступны.

http://requestb.in/

Смежные вопросы