SOAPUI XPATH 断言和测试

SOAPUI XPATH assert AND test

使用社区 soapui 5.2.1。 我可以使用 XPATH 断言来测试数字是否介于两个值之间吗? 展示了如何进行一项逻辑测试。 但我想将值存储在变量中并在 AND 条件下进行测试。 类似于(伪代码):

declare namespace ns1='http://my.space/XML/output/6.1';

testme=//ns1:items-section[1]/ns1:results/@total_items;

testme > 100 && testme < 200;

如果无法完成,我看到的选项是:

IMO 一般来说,如果你想为断言目的应用伪代码,我更喜欢使用 script assertion 因为在 SOAPUI Groovy script assertion 给你很大的灵活性。

但是你的案例看起来很短,你只是担心要避免执行两次相同的操作 XPath;那么您可以使用一个不在您的列表中的选项:XQuery Match assertionXQuery 表达式可以是:

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)

这将 return 达到预期结果:

<xml-fragment>true</xml-fragment><xml-fragment>false</xml-fragment> 取决于 $testme 值。

希望这对您有所帮助,