在脚本断言

时间:2017-06-20 15:47:27

标签: groovy soapui assertions

我刚开始使用SoapUI进行测试,所以希望我可以总结一下我想做什么 我发送了一个Web服务请求,并在响应中多次使用标记 我想在此响应中检查此标记的值是否在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> 

1 个答案:

答案 0 :(得分:0)

您可以检查唯一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'