在脚本断言中断言来自 SOAP 响应的唯一值
Asserting the unique value from the SOAP respose in Script Assertion
我是 SoapUI 测试的新手,所以希望我能总结一下我想做的事情。
我发送了一个网络服务请求,在响应中多次使用了一个标签。
我想检查此标记的值是否在此响应中的 Script Assertion
(SoapUI 5.0) 中是唯一的。但我无法在网上找到与此相关的任何信息。
当我执行我的脚本时,它总是通过。
// 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 与总 ID 的大小。
def xml = new XmlSlurper().parseText(xml)
def result = xml.'**'.findAll { it.name() == 'KampagnenID' }*.text()
assert result.size() == result.unique().size(), 'There are duplicate ids'
我是 SoapUI 测试的新手,所以希望我能总结一下我想做的事情。
我发送了一个网络服务请求,在响应中多次使用了一个标签。
我想检查此标记的值是否在此响应中的 Script Assertion
(SoapUI 5.0) 中是唯一的。但我无法在网上找到与此相关的任何信息。
当我执行我的脚本时,它总是通过。
// 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 与总 ID 的大小。
def xml = new XmlSlurper().parseText(xml)
def result = xml.'**'.findAll { it.name() == 'KampagnenID' }*.text()
assert result.size() == result.unique().size(), 'There are duplicate ids'