SOAPUI XPATH断言AND测试

时间:2016-03-09 09:22:17

标签: xpath soapui

使用社区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;

如果无法做到这一点,我看到的选项是:

  • 检索属性两次(猜测“不是高效的”)
  • 恢复脚本断言(更复杂)
  • 购买NG PRO(更贵)

1 个答案:

答案 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值。

希望这有帮助,