FitNesse: включение приспособления FitNesse для вызова метода на стороне сервера

Я реализовал веб-службу с определенными методами с помощью Eclipse.

Затем я экспортировал его в файл WAR, который будет использоваться с Tomcat.

Затем я использовал wsimport для создания «заглушек» для своего веб-сервиса.

«Заглушки» - это просто интерфейсы.

Теперь я хочу знать, как вызвать веб-службу через мое устройство FitNesse, которое я напишу.

Я кодирую на JAVA.

Есть ли какой-либо метод, с помощью которого я могу вызвать метод веб-службы из моего устройства FitNesse с учетом «заглушек», созданных для веб-службы?


person Iceman    schedule 30.01.2015    source источник
comment
Если вы разместите примеры кода и зададите конкретные вопросы, это даст вам лучший результат.   -  person Vaishak Suresh    schedule 30.01.2015
comment
Если вы дадите ответ так быстро, никто больше не отправит пост.   -  person Citizen    schedule 24.02.2016


Ответы (1)


Есть много способов сделать то, что вы описываете. Вы можете, например, создать свой собственный прибор (т. Е. Класс, содержащий тестовый код) на Java, который будет использовать сгенерированные вами заглушки для вызова вашей службы. Или (что я предпочитаю) - это вызывать службы напрямую, используя сообщения HTTP, настроенные в вики, и выполнять запросы XPath, настраивая XPath либо путем написания кода Java, либо в вики, в ответах, которые вы получаете, чтобы проверить реализацию службы.

Последний подход поддерживается приборами (и готов к запуску установки FitNesse), которые я установил на GitHub (https://github.com/fhoeben/hsac-fitnesse-fixtures). Для получения конкретной информации о том, как вызвать веб-службу, см. https://github.com/fhoeben/hsac-fitnesse-fixtures/wiki/4.-XmlHttpTest-Examples и https://github.com/fhoeben/hsac-fitnesse-fixtures/wiki/6..-SoapCallMapColumnFixture-Примеры в зависимости от того, хотите ли вы использовать Slim или Fit. .

Образец для Slim:

!2 Body via scenario

Using a scenario allows us to generate multiple request, only changing certain values.

!*> Scenario definition
!define POST_BODY_2 { {{{
<s11:Envelope xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/">
  <s11:Body>
    <ns1:GetCityWeatherByZIP xmlns:ns1="http://ws.cdyne.com/WeatherWS/">
      <ns1:ZIP>@{zip}</ns1:ZIP>
    </ns1:GetCityWeatherByZIP>
  </s11:Body>
 </s11:Envelope>
}}} }

 |script|xml http test|

 |table template |send request                                                            |
 |post           |${POST_BODY_2} |to                   |${URL}                            |
 |check          |response status|200                                                      |
 |show           |response                                                                 |
 |register prefix|weather        |for namespace             |http://ws.cdyne.com/WeatherWS/|
 |check          |xPath          |//weather:City/text()|@{City}                       |
*!

 |send request       |
 |zip  |City         |
 |10007|New York     |
 |94102|San Francisco|
person Fried Hoeben    schedule 30.01.2015
comment
Не могли бы вы поделиться примером тестирования мыльных сервисов с использованием FIT - person user724747; 21.04.2016