Soapui & Xpath: утверждение для простого узла - PullRequest
1 голос
/ 29 марта 2010

В настоящее время я использую бесплатную версию SoapUI 3.2-beta 2. И у меня странная проблема с утверждением Xpath:

У меня есть это в ответ:

(...) И я использую этот xpath, чтобы утверждать, что «niveau» с id = '2' находится в ответе:

Выражение Xpath;

//*:niveau[@id='2']

И ожидаемый результат:

<mod0911:niveau id="2" libelle="Immatriculation" ordre="0" taille="0"/>

Но у меня есть это сообщение об ошибке: Сбой сравнения XPathContains, ожидание [], фактическое значение было [null]

Но если я попробую это:

exists(//*:niveau[@id='2'])

И ожидаемый результат: True Это работает !!?

Но этот синтаксис довольно сложно читать и поддерживать, и я хотел бы использовать 1-й синтаксис (я пытался игнорировать пространство имен, добавлять их ... все еще не работает).

Есть идеи?

Привет

Ответы [ 5 ]

2 голосов
/ 23 октября 2012

Вы можете использовать инструмент FirstObject XML Editor для генерации Xpath. Он автоматически сгенерирует XPath для вашего выбора, как вы делаете это в soapUI Pro, а затем вы можете использовать этот Xpath в вашей бесплатной версии soapui.

1 голос
/ 30 марта 2010

XPath, который вы объявляете, фактически запускается против XML в ответе. Затем он сравнивает его с текстом в «Ожидаемый результат».

Я не уверен на 100%, что вы пытаетесь сделать. Учитывая этот ответ:

<root>
  <a>
    <b id="2" />
  </a>
  <c>
  </c>
</root>

Если вы введете это в «Объявление» : //b[@id=2], он будет запускать этот XPath для XML. Этот XPath (непроверенный) должен выбрать только элемент <b>.

Тогда ваш «Ожидаемый результат» должен быть: <b id="2" />.

0 голосов
/ 20 января 2014

Вы можете использовать утверждения: // б [@ ID = '2'] или же // б [@ ID = 2]

Ожидаемый результат:

http://i.stack.imgur.com/3o2xx.png

0 голосов
/ 23 октября 2012

Вы должны включать в теги XML не только значение узла.

Если вы измените свое ожидание с [] на <nodeName id=2 />, оно должно сработать.

0 голосов
/ 10 апреля 2010

Сделайте пробную версию для профессиональной версии, и вы увидите, что в нее встроен хороший эксперт по xpath. При наличии образца запроса вы можете просто выбрать искомое значение, и он сгенерирует xpath и покажет вам значение. Очень круто. Скопируйте / вставьте xpath обратно в бесплатную версию, и все готово. Или, если вы похожи на меня, сделайте все возможное, чтобы ваш босс купил Pro версию для вас.

...