比较操作数xpath断言表达式与soapUI中的预期结果

比较操作数xpath断言表达式与soapUI中的预期结果,xpath,soapui,Xpath,Soapui,我使用的是SOAPUI5(非专业版),我只需要在预期结果部分验证(断言)一个大于零的数字。这意味着 1) 在XPath表达式(XPath匹配)中,我声明以下内容(我需要删除所有文本,只包含数字,然后检查数字是否大于零) 2) 在预期结果中,我只想做=!0或数字>0,因此我尝试 ${=!0}但是这样做会返回一个布尔T/F。我真的迷路了:(表达式${=!0}没有像您预期的那样工作。在SOAPUI中,这种表达式${=expression}作为groovy脚本执行,因此SOAPUI实际上正在执行!0,结

我使用的是SOAPUI5(非专业版),我只需要在预期结果部分验证(断言)一个大于零的数字。这意味着

1) 在XPath表达式(XPath匹配)中,我声明以下内容(我需要删除所有文本,只包含数字,然后检查数字是否大于零)

2) 在预期结果中,我只想做=!0或数字>0,因此我尝试


${=!0}
但是这样做会返回一个布尔T/F。我真的迷路了:(

表达式
${=!0}
没有像您预期的那样工作。在SOAPUI中,这种表达式
${=expression}
作为groovy脚本执行,因此SOAPUI实际上正在执行
!0
,结果为true,这是预期的结果。这就是SOAPUI抛出
replace…,预期为[true]
的原因

我认为如果表达式是
>0
,最好将您的
XPath表达式更改为直接求值:

number(替换(//OUTBOUND\u MESSAGE.MESSAGE\u CONTENT,[^0-9],'')>0

正如预期的结果,只需将
设置为true


如果您将您的响应中的xml片段放在help@Seb不客气
:)
。如果答案有助于你记住接受它。
replace(//OUTBOUND_MESSAGE.MESSAGE_CONTENT, '[^0-9]','')