Как утвердить текстовое содержимое в неизвестном узле в SoapUI

У меня есть веб-сервис, который возвращает определенные значения.

<BasicPersons>
           <id>4</id>
           <firstName>Patricia</firstName>
           <middleName>A</middleName>
           <lastName>Cluss</lastName>
        </BasicPersons>
        <BasicPersons>
           <id>5</id>
           <firstName>Benjamin</firstName>
           <middleName>L</middleName>
           <lastName>Handen</lastName>
        </BasicPersons>
        <BasicPersons>
           <id>6</id>
           <firstName>Ellen</firstName>
           <lastName>Frank</lastName>
        </BasicPersons>
        <BasicPersons>

Я знаю, какими будут некоторые из этих значений, но я не знаю порядка узлов. Я хочу утверждать, что один из узлов «basicPersons» содержит имя = Бенджамин. Как мне это сделать?


person Adi Mor    schedule 04.01.2014    source источник


Ответы (2)


Вам не нужно знать порядок узлов, просто */BasicPersons[firstName='Benjamin'] -- он ищет каждого потомка basicPerson, где текст точно соответствует Бенджамину.

upd: полезная ссылка Использование XPATH для поиска текста, содержащего

upd2: спасибо за редактирование, я пропустил тег firstname

person olyv    schedule 04.01.2014
comment
я это знаю, но какое утверждение я должен использовать в soapui - person Adi Mor; 04.01.2014
comment
Добавить утверждение в запрос -> Содержимое свойства -> Соответствие XPath (soapui.org/Functional-Testing/xpath-and-xquery-assertions.html) или, если нужны дополнительные действия, используйте Script Assertion (soapui.org/Functional-Testing/script-assertions.html). - person olyv; 04.01.2014

Вы можете использовать утверждение XPath, например:

exists(//*:BasicPersons[contains(*:firstName, 'Benjamin')])
person SiKing    schedule 07.01.2014