Часть 2. Тестирование и отладка HTTP-сервиса с помощью SoapUI

Часть 1. Создание HTTP-сервиса

Самый простой способ тестирования http-сервиса, это воспользоваться готовым бесплатным программным продуктом, который создан именно для таких целей. Я предпочитаю пользоваться программой SoapUI.

Запускаем SoapUI, создаем новый REST проект File -> New REST Project. В открывшемся окне вводим URI http-ресурса (см. рисунок 1), который собран по шаблону:
http://<доменное имя>/<имя публикации>/hs/<шаблон URL>?<параметры>.

Рисунок 1. Создание нового REST проекта

В моем случае получился такой URI:
http://192.168.0.32/httpdemo/hs/balance/nomenclature/{version}.

Как вы заметили, URI содержит параметр, который заключен в фигурные скобки. SoapUI поддерживает параметры в URI точно так же, как 1С их поддерживает в шаблоне URL, что очень удобно. После нажатия на кнопку ОК в списке проектов отобразится иерархический список объектов добавленного проекта (см. рисунок 2): сервис -> ресурс -> метод -> запрос.

Рисунок 2. иерархия объектов REST проекта в SoapUI

Открываем окно запроса двойным кликом по объекту Request 1, обычно это окно открывается сразу после создания проекта. В открывшемся окне устанавливаем http-метод в значение POST, для параметра ресурса version вводим значение v1. Выбираем значение application/json в поле Media Type. Предварительный результат настройки должен выглядеть как на рисунке 3.

Рисунок 3. Предварительная настройка запроса

Жмем на кнопку Auth, которая находится в самом низу, выбираем авторизацию Basic, вводим логин и пароль пользователя (см. рисунок 4). Внимание, пользователь должен иметь достаточно прав для работы http-сервиса, иначе вылетим в ошибку доступа.

Рисунок 4. Настройка авторизации

Рядом жмем на кнопку Headers, добавляем новую строку, вводим имя нашего http-заголовка Client-Name-1C и его значение, например ooo roga i kopyta (см. рисунок 5).

Рисунок 5. Добавление заголовка

Для удобства, переименовываем запрос, для этого выделяем запрос, вызываем контекстное меню и нажимаем на Rename (F2). В открытом диалоговом окне вводим новое имя «V1». В свойствах обязательно указываем кодировку UTF-8 в свойстве Encoding. Настроенный запрос смотри на рисунке 6.

Рисунок 6. Настройки запроса

В окне запроса вводим тело запроса, жмем на зеленый треугольник, если все хорошо, на закладке JSON будет ответ от сервера (см. рисунок 7).

Рисунок 7. Выполнение запроса на http-сервис версии 1

Так как тестируемый http-сервис поддерживает две версии запросов, то скопируем запрос, для этого выделяем его, вызываем контекстное меню и жмем Clone Request (F9). Для удобства задаем имя «V2» новому запросу. Открываем окно нового запроса, меняем значение параметра ресурса version на значение v2, вводим тело запроса и запускаем на выполнение (см. рисунок 8).

Рисунок 8. Выполнение запроса на http-сервис версии 2

Допустим, в теле самого запроса мы допустили ошибку, тогда ответ http-сервиса будет на закладке HTML в удобочитаемом виде (см. рисунок 9).

Рисунок 9. Ответ http-сервиса с содержанием ошибки в теле запроса

Отладка кода HTTP-сервиса аналогична отладке кода веб-сервиса (SOAP). Для включения отладки нужно:

  • Разрешить отладку при публикации на веб-сервере,
  • Включить автоматическое подключение к http-сервисам,
  • Установить точку останова в интересующем месте.

Подробную информацию по каждому пункту смотрите на сайте ИТС. После установки точки останова запускаем в SoapUI запрос на выполнение и пошагово производим отладку без каких-либо особенностей.

Комментарии

  1. У меня не подключалось пока в настройках авторизации не поставил "Authenticate pre-emptively". После - все пошло нормально.
    Спасибо!

    ОтветитьУдалить

Отправить комментарий