2017-06-20 26 views
1

我剛接觸使用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> 

回答

0

你可以只檢查的唯一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' 
+0

非常感謝,這正是我所尋找的。工作正常。 – Norman