使用社区soapui 5.2.1。 我可以使用XPATH断言来测试两个值之间的数字吗? This question显示了如何进行一次逻辑测试。 但是我想将值存储在变量中并测试AND条件。 像(伪代码):
声明命名空间ns1 =' http://my.space/XML/output/6.1';
TESTME = // NS1:项截面[1] / NS1:结果/ @ TOTAL_ITEMS;
testme> 100&& testme< 200;
如果无法做到这一点,我看到的选项是:
答案 0 :(得分:3)
IMO通常如果你想为断言目的应用伪代码我更喜欢使用脚本断言,因为在 SOAPUI中,Groovy脚本断言为你提供了很大的灵活性。 / p>
但是你的情况似乎很短,而你只是担心避免执行两次相同的 XPath ;然后您可以使用列表中没有的选项: XQuery匹配 断言。 XQuery 表达式可以是:
declare namespace ns1='http://my.space/XML/output/6.1';
declare variable $testme := //ns1:items-section[1]/ns1:results/@total_items;
($testme > 100 and $testme < 200)
请注意使用and
代替&&
。
此外,您可以使用*
为名称空间简化 XPath 表达式:
declare variable $testme := //*:items-section[1]/*:results/@total_items;
($testme > 100 and $testme < 200)
这将返回预期结果:
<xml-fragment>true</xml-fragment>
或<xml-fragment>false</xml-fragment>
取决于$testme
值。
希望这有帮助,