Вопрос

Моя организация работает над созданием веб-сервисов RESTful на сервере приложений JBoss.Команда контроля качества до сих пор тестировала веб-сервисы SOAP с использованием SoapUI.У SoapUI есть новая версия с возможностями REST.Мы рассматриваем возможность использования этого.

  1. Есть ли в сети какие-либо общедоступные RESTful-сервисы, доступные бесплатно, которые кто-то мог бы протестировать?
  2. Какие инструменты доступны (и используются) для тестирования веб-сервисов RESTful?
Это было полезно?

Решение

мылоUI тоже сделаю, проверьте этот пост в блоге для начала.

Другие советы

Пожалуйста, попробуйте дополнение Poster к Firefox, которое просто в использовании и позволяет быстро приступить к работе.

Вы можете использовать веб-сервисы, используя довольно тривиальные части Python.В зависимости от вашей безопасности вы можете просто использовать Python urllib или urllib2 делать запросы REST и проверять свои ответы.

Кроме того, вы можете использовать Python unittest для управления выполнением тестов Python ваших служб REST.

class TestSomeREST( unittest.TestCase ):
    def setUp(self):
        REALM = "blah@blah.com"
        self.client= RESTClient( "localhost", 18000, "tester", "tester", REALM )
    def test_1_get(self):
        response = self.client.get('/this/that/other/2/')
        self.failUnlessEqual(200, response.status_code)
        j1= JSONDecoder().decode(response.content)
        self.assertEquals(2, j1[0]['pk'] )
        entity= j1[0]['fields']
        self.assertEquals('Some Other Group', entity['name'])
        self.assertEquals('E1G2', entity['customer_id'])

Класс RESTClient использует urllib2 для прохождения дайджест-аутентификации для каждого запроса.Это довольно сложно, но могу поделиться сутью, если интересно.

Проверить Скрипач

CURL поможет вам сделать это наполовину.Другая половина — проверка заголовков, кодов ответов и содержимого объекта, чтобы убедиться в их исправности.Для этого вы можете использовать различные инструменты (в среде сценариев оболочки передача заголовка и содержимого в файлы и их сравнение могут просто помочь).Не так уж и сложно усовершенствовать набор инструментов, возможно, объединив его с выбранной вами средой модульного тестирования.

Я создал панель тестирования веб-сервисов для отдыха с помощью AJAX.На самом деле это было совсем не так уж и сложно.Вам нужно решить некоторые проблемы безопасности (т. е.убедитесь, что у вас есть набор тестов на том же сервере или, возможно, подписанный Javascript.)

Чтобы протестировать службу REST, вы можете попробовать Будьте уверены что упрощает тестирование служб REST и проверку ответа на Java (с использованием JUnit или TestNG).

Посмотрите Почтальон - https://chrome.google.com/webstore/detail/fdmmgilgnpjigdojojpjoooidkmcomcm/.Это инструмент, над которым я работал последние несколько месяцев, и в последнее время, судя по полученным отзывам, он становится весьма полезным для крупных проектов REST, а также помогает с базовым тестированием конечных точек REST.

Код для этого также доступен на Github. https://github.com/a85/POSTMan-Chrome-Extension

Самый простой способ протестировать веб-сервис REST — использовать curl в терминале.

Есть несколько кодов, которые я использовал для тестирования своего веб-сервиса Rails.Вы можете изменить их в соответствии с вашими услугами.

ПОЛУЧАТЬ

curl http://localhost:3000/courses.json

ПОЧТА

curl -H "Content-Type:application/json"  -d '{"courseCode":"55555","courseName":"SEEEE","courseYr":999}' http://localhost:3000/courses.json

ВСТАВИТЬ в Rails:например1(со всеми полями):

curl -H "X-Http-Method-Override: put" -H "Content-Type:application/json"  -d '{"courseCode":"123456","courseName":"AAAAAAAA","courseYr":12345}' http://localhost:3000/courses/5.json

eg2 (только поле редактируется):

curl -H "X-Http-Method-Override: put" -H "Content-Type:application/json"  -d '{"courseYr":999999999}' http://localhost:3000/courses/3.json

УДАЛИТЬ в рельсах с предоставленным идентификатором

 curl -H "X-Http-Method-Override: delete" -H "Content-Type:application/json"  -d '{"id":4}' http://localhost:3000/courses/5.json

Я еще не тестировал его, но это Java-приложение, похоже, подходит для тестирования служб REST.На Javalobby также есть учебник по этому поводу.

Java-приложение: http://code.google.com/p/rest-client/

Туто: http://java.dzone.com/announcements/wiztoolsorg-restclient-21-rele

вы можете использовать Simple REST Client, который также является расширением для Google Chrome. https://chrome.google.com/webstore/detail/fhjcajmcbmldlhcimfajhfbgofnpcjmb

SOA Cleaner — это инструмент тестирования, который тестирует как мыло, так и отдых (также WCF, но, похоже, эта функция вам не нужна).Это очень интуитивно понятно и полезно.Написано на .NET.Бесплатная версия также доступна.можно скачать с http://xyrow.com.Удачи!

Я тестирую сервисы RESTful с помощью собственной платформы .NET (без проблем переношу ее на Java).Основные принципы:

  • построить клиент (для звонков)
  • классы типов сборки (XML и JSON)
  • десериализовать ответ
  • утверждать вещи

Если вам нужна дополнительная информация, я рад поговорить.

я использую Расширение консоли REST для Google Chrome, и это лучшее, что я пробовал.Он также поддерживает различные механизмы безопасности, такие как OAuth.

(обновление 2:поправь ссылку)

Для Java также существует RESTFuse, который позволяет разрабатывать модульные тесты, которые могут выглядеть следующим образом:

@Rule
public Destination destination = new Destination("http://localhost:8080/rest/");


@HttpTest( method = Method.GET, path = "/status" ,authentications =
   @Authentication(type = AuthenticationType.BASIC, user = "joe", password = "doe")
)
public void testAuthRhqadmin() {
    com.eclipsesource.restfuse.Assert.assertOk(response);
}

Этот тест работает против http://localhost:8080/rest/status и проходит аутентификацию как пользователь joe с паролем doe.Затем тело метода проверяет, возвращает ли вызов GET код состояния 200.

Попробуйте httplib Python.Это очень просто: вы указываете метод, URL-адрес и используете urllib.urlencode для параметров/тела POST.

Если хотите, его можно объединить со встроенным модулем unittest для сообщения об ошибках.

Для этого я использую JMeter, особенно для таких вещей, как нагрузочное тестирование.Он похож на SoapUI (который я тоже использовал), но больше ориентирован на тестирование веб-страниц, что делает его вполне подходящим и для тестирования служб RESTful.

Я написал программу специально для тестирования веб-служб REST.Это довольно простое приложение, написанное на .NET 2.0 (я тестировал его только в Windows Vista, но оно должно работать и в XP).Приложение использует HttpWebRequest для выполнения запросов и отображает полученный ответ, а также заголовки запроса и ответа.Я провел небольшое тестирование, но подумал, что это может помочь вам протестировать ваши веб-сервисы.

ОТДЫХ Тест

В настоящее время я изучаю приложение wsclient CLI для этой цели (http://wso2.org/library/3362).Это весьма многообещающе и может быть использовано для быстрого тестирования из оболочки bash.Конечно, как уже упоминалось здесь, многие инструменты, поставляемые с системой *nix, выполнят свою работу с небольшим количеством кода/сценариев.

Если вам нравится использовать Ruby, есть REST-клиентский драгоценный камень для этого

Я считаю, что для тестировщиков Ruby действительно простой в изучении язык, и в нем есть несколько отличных инструментов, таких как Cucumber, для проведения приемочных тестов в стиле BDD.

Я пробовал множество клиентов REST, и лучшее, что я использовал, — это приложение Chrome: ДХК.

DHC (он же Dev HTTP Client) спроектирован и разработан разработчиками для упрощения прямого обнаружения, манипулирования и тестирования HTTP-ресурсов.Помимо основной функции отправки/получения пользовательских HTTP-запросов/ответов, она позволяет постоянно сохранять запрос в локальном репозитории для последующего повторного использования, и, кроме того, объявление запроса может включать переменные, зависящие от контекста.Используя контексты, вы можете легко переключаться между различными средами, не изменяя декларацию запроса.(например.от тестовой среды к продакшену)

Тестирование полноценных веб-сервисов REST — простая задача.Бесплатные дополнения доступны в браузерах в виде REST-клиента, откуда вам нужно отправить веб-сервис с ожидаемым/требуемым типом метода:GET/POST/PUT/DELETE Если параметры сопоставлены, вывод будет сгенерироваться в корпусе браузера.enter image description here

Я знаю, что это очень старый вопрос, но может быть полезен другим.Чтобы ответить на ваш первый вопрос, вы можете проверить здесь чтобы протестировать некоторые веб-сервисы REST.

Плагин Fiddler и Poster в Firefox можно использовать для тестирования любых веб-сервисов REST.SoapUI также поддерживает веб-сервисы RESTful.

Для расширенного тестирования REST вы можете попробовать HTTPMaster.
Он поддерживает динамические параметры, удобные средства просмотра XML/JSON и различные типы проверок данных ответов, которые можно объединять в логические выражения.
Для базовых http-запросов будет достаточно плагина для браузера.

Луковый Тест все еще бета, но весьма полезно

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top