我是groovy和soapui pro的新手。我有下面的示例响应,显示2个或更多数组元素与动态数据。我想知道如何编写脚本断言或xpath匹配来检查脚本是否通过,只要其中一个元素的值为1。
<ns1:SampleTests>
<ns1:SampleTest1>
<ns1:Test>1</ns1:Test>
</ns1:SampleTest1>
<ns1:SampleTest2>
<ns1:Test>2</ns1:Test>
</ns1:SampleTest2>
</ns1:SampleTests>
我已经在脚本断言中写了这个,但它失败了。
答案 0 :(得分:1)
假设您有以下回复:
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<ns1:SampleTests xmlns:ns1="hola">
<ns1:SampleTest1>
<ns1:Test>1</ns1:Test>
</ns1:SampleTest1>
<ns1:SampleTest2>
<ns1:Test>2</ns1:Test>
</ns1:SampleTest2>
</ns1:SampleTests>
</Body>
</Envelope>
您可以执行以下 XPath :exists(//*:Test[.=1])
来检查至少有一个<ns1:Test>
元素是否存在1
作为值。
在 XPath匹配中,它看起来像:
如果你更喜欢使用脚本断言,你可以使用XmlSlurper
来解析你的Xml,然后获得所有<ns1:Test>
值,断言至少有一个{ {1}}作为价值。请查看以下代码:
1