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
Convert the string to date or double, then you could test the values.
http://stackoverflow.com/questions/3817862/groovy-string-to-date
http://stackoverflow.com/questions/5769669/convert-string-to-double-in-java