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

时间:2017-07-13 07:28:09

标签: groovy soapui

我想在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

谢谢

1 个答案:

答案 0 :(得分:1)

在这里,您可以在线评论:

脚本断言

//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