Forum Discussion

marlonumali's avatar
marlonumali
Occasional Contributor
8 years ago

How to verify response content if it has valid DateTime or Decimal value, or if it has no value?

Please help me to correctly determine the data type of the response as it seems that regardless of the actual response value it will always evaluate to a string. Please see the following example which I also got from one of the posting here in smartbear community forum. Thank you.

 

 

def xml='''
<xml>
   <node>
       <val1>1</val1>
       <val2>12.00</val2>
       <val3>true</val3>
       <val4>testvalue</val4>
    </node>
</xml>'''
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def reader = groovyUtils.getXmlHolder(xml )
use (groovy.xml.dom.DOMCategory) {
for( node in reader.getDomNodes( "//node" )) {
   node.children().each { child ->
      if (child.text() instanceof Integer) {
         log.info child.text() +" is integer"
      } else if (child.text() instanceof Double) {
         log.info child.text()+" is double"
      } else if (child.text() instanceof Boolean) {
         log.info child.text()+" is boolean"
      } else if (child.text() instanceof String) {
      log.info child.text()+" is string"
}
}
}
}


//===============================================//

OUTPUT

Fri Feb 13 07:46:03 IST 2015:INFO:1 is string
Fri Feb 13 07:46:03 IST 2015:INFO:12.00 is string
Fri Feb 13 07:46:03 IST 2015:INFO:true is string
Fri Feb 13 07:46:03 IST 2015:INFO:testvalue is string