在SOAP UI中评估条件转到的XPath

时间:2014-12-08 16:14:28

标签: xpath soapui

我正在尝试在SOAP UI 4.6.1中实现一个简单的循环。根据文档,'Conditional Goto'步骤应该允许我根据之前的响应评估XPath表达式。

对于给定的回复:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:GetVeryImportantDetailsResponse xmlns:ns2="http://www.bigcompany.com/XYZ/VeryImportantService/V1">
         <Status Reason="You did everything wrong again" Code="nok"/>
      </ns2:GetVeryImportantDetailsResponse>
   </soap:Body>
</soap:Envelope>

如果Code等于'nok',我想跳到另一个步骤。不幸的是,我无法以任何方式实现这一点。一些例子:

exists("//Status/Code[text() = 'nok']") -> true
exists("//Status/Code[text() = 'ok']") -> true

exists(//Status/Code[text() = "nok"]) -> false
exists(//Status/Code[text() = "ok"]) -> false

starts-with("//Status/Code", 'nok') -> false
starts-with("//Status/Code", 'ok') -> false

starts-with(//Status/Code, 'nok') -> false
starts-with(//Status/Code, 'ok') -> false

这是SOAP UI中的错误还是我做错了什么?

1 个答案:

答案 0 :(得分:1)

你做错了 - 你的XPath语法错了。

尝试:exists(//Status[@Code = 'nok'])