将操作数 xpath 断言表达式与 soapUI 中的预期结果进行比较
comparing operands xpath assertion expression with expected result in soapUI
我正在使用 soapUI 5(非专业版),我需要的只是验证(断言)预期结果部分中的数字大于零。所以这意味着
1) 在 XPath 表达式中(Xpath 匹配)我在下面声明(我需要删除所有文本并且只有数字然后检查数字是否大于零)
replace(//OUTBOUND_MESSAGE.MESSAGE_CONTENT, '[^0-9]','')
2) 我想在预期结果中做的就是 =!0 或 number>0 所以我尝试了
${=!0}
但这样做会返回一个布尔值 T/F。我真的迷路了:(
表达式 ${=!0}
未按预期运行。在 SOAPUI 中,这种表达式 ${=expression}
作为 groovy 脚本执行,所以 SOAPUI 实际上正在执行 !0
,结果为真,这是预期的结果。这就是 SOAPUI 抛出 replace..., expecting [true]
的原因。
我觉得如果你的表达式是>0
:
,我觉得还是把你XPath expression
改成直接求值比较好
number(replace(//OUTBOUND_MESSAGE.MESSAGE_CONTENT, '[^0-9]',''))>0
正如预期的那样,只需设置 true
。
我正在使用 soapUI 5(非专业版),我需要的只是验证(断言)预期结果部分中的数字大于零。所以这意味着
1) 在 XPath 表达式中(Xpath 匹配)我在下面声明(我需要删除所有文本并且只有数字然后检查数字是否大于零)
replace(//OUTBOUND_MESSAGE.MESSAGE_CONTENT, '[^0-9]','')
2) 我想在预期结果中做的就是 =!0 或 number>0 所以我尝试了
${=!0}
但这样做会返回一个布尔值 T/F。我真的迷路了:(
表达式 ${=!0}
未按预期运行。在 SOAPUI 中,这种表达式 ${=expression}
作为 groovy 脚本执行,所以 SOAPUI 实际上正在执行 !0
,结果为真,这是预期的结果。这就是 SOAPUI 抛出 replace..., expecting [true]
的原因。
我觉得如果你的表达式是>0
:
XPath expression
改成直接求值比较好
number(replace(//OUTBOUND_MESSAGE.MESSAGE_CONTENT, '[^0-9]',''))>0
正如预期的那样,只需设置 true
。