如何使用脚本断言检查 xml 元素是否显示

How to check if an xml element is displayed using a script assertion

我想在 SOAP UI 中执行一个断言来检查 'BookingCode' 是否显示,但我不知道该怎么做。我正在使用 .size() 但无论是否有任何预订代码,它都会失败:

下面是一个 xml 例子,但我 xxx 了信息:

<soap:xxx">
   <soap:Body>
      <getBookingsResponse xmlns="http://xxx/">
               <Bookings>
                  <Booking Id="xxx" BookingCode="xxx" >

下面是脚本断言本身:

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def serviceResponse = context.expand( '${getBookings#Response}'  )
def xml = new XmlSlurper().parseText( serviceResponse )

def BookingRef = xml.'soap:Body'.getBookingsResponse[0].Bookings[0].Booking.@BookingCode

assert BookingRef.size() != 0

谢谢

给你,在线评论:

脚本断言

//Pass the xml string to parseText method
def pxml = new XmlSlurper().parseText(context.response)
//Get the BookingCode attributes
def codes = pxml.'**'.findAll{ it.name() == 'Booking' }*.@BookingCode*.text()
log.info codes
assert codes.size !=0