Xquery 如何在SoapUI中的未知节点中断言文本内容

Xquery 如何在SoapUI中的未知节点中断言文本内容,xquery,soapui,assert,Xquery,Soapui,Assert,我有一个返回特定值的Web服务 <BasicPersons> <id>4</id> <firstName>Patricia</firstName> <middleName>A</middleName> <lastName>Cluss</lastName> </BasicPerson

我有一个返回特定值的Web服务

<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节点包含firstname=Benjamin。我该怎么做呢?

您不需要知道节点的顺序,只需要*/BasicPersons[firstName='Benjamin']-它搜索basicPerson的每个子节点,其中文本就是Benjamin

upd:一些有用的链接


upd2:感谢大家的编辑,我错过了firstname标记

您可以使用XPath断言,如:

exists(//*:BasicPersons[contains(*:firstName, 'Benjamin')])

我知道这一点,但是我应该在SOAPUIAddAssertiontorequest->Property Content->XPath match中使用什么断言,或者如果需要一些额外的操作,可以使用脚本断言。