在脚本声明中断言SOAP respose的独特价值
问题描述:
我刚接触使用SoapUI进行测试,所以希望我可以总结一下我想要做的事情。
我发送一个Web服务请求,并在响应中多次使用标签。
我想检查一下这个标签的值在Script Assertion
(SoapUI 5.0)中是否是唯一的。但我无法在网上找到任何关于这一点的信息。
当我执行我的脚本时,它总是通过。在脚本声明中断言SOAP respose的独特价值
// from script assertion get the response
def response = messageExchange.getResponseContent()
// parse the XML
def xml = new XmlSlurper().parseText(response)
// get all KampagnenID
def KampagnenID = xml.'**'.findAll { it.name() == 'KampagnenID' }
// check that each KampagnenID aka Kundenansprache Source Code is unique
assert KampagnenID.each.unique:true
响应包含这使一个值的两倍,但这不会致使予以确认:
<Kampagne>
<KampagnenID>NH_B_PoC_Lounge_01</KampagnenID>
</Kampagne>
<Kampagne>
<KampagnenID>NH_NBO_KS_01</KampagnenID>
<Kampagne>
<Kampagne>
<KampagnenID>NH_B_PoC_Lounge_01</KampagnenID>
</Kampagne>
答
你可以只检查的唯一ID VS总IDS的大小。
def xml = new XmlSlurper().parseText(xml)
def result = xml.'**'.findAll { it.name() == 'KampagnenID' }*.text()
assert result.size() == result.unique().size(), 'There are duplicate ids'
非常感谢,这正是我所寻找的。工作正常。 – Norman