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