Groovy SCript for taking specific tag values into getDOMNodes
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Groovy SCript for taking specific tag values into getDOMNodes
I have below response from SOAP UI
<m:bansArray>
<m:item>
<m:ban>4382640110 056</m:ban>
<m:banNickname></m:banNickname>
<m:billingAddressLine1>10500 RYAN</m:billingAddressLine1>
<m:billingAddressLine2>DORVAL QC</m:billingAddressLine2>
<m:billingName>DICOM TRANSPORTATION</m:billingName>
<m:billingPostalCode>H9P2T7</m:billingPostalCode>
<m:idrCustomerAccountId>506757</m:idrCustomerAccountId>
<m:invoiceSystemCode>CBSS</m:invoiceSystemCode>
<m:marketSegment>B</m:marketSegment>
<m:paperSuppressionFlag>Y</m:paperSuppressionFlag>
<m:serviceCode>CBSS</m:serviceCode>
<m:serviceCodeEnglishDescription>Phone</m:serviceCodeEnglishDescription>
<m:serviceCodeFrenchDescription>Téléphonie</m:serviceCodeFrenchDescription>
<m:transpromoStatus>A</m:transpromoStatus>
</m:item>
</m:bansArray>
I dont want to take the node values of serviceCodeEnglishDescription, serviceCodeFrenchDescription and transpromoStatus
I have written below Groovy scripting it is taking all the Node values
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def holder = groovyUtils.getXmlHolder( "SOAP Request#Response" )
def nodes = holder.getDomNodes( "//*" );
def XMLlist = []
for( node in nodes )
{
def value = com.eviware.soapui.support.xml.XmlUtils.getNodeValue( node )
if((value!=null))
{
if(!(value.isAllWhitespace()))
{
XMLlist.add(value)
}
}
}
def Slist = XMLlist.size()
log.info "SOAP UI RESPONSE" + XMLlist
Here in my SOAP UI REsponse im getting all node values
SOAP UI RESPONSE[4382640110 056, 10500 RYAN, DORVAL QC, DICOM TRANSPORTATION, H9P2T7, 506757, CBSS, B, Y, CBSS, Phone, Téléphonie, A]
But i dont want all tags in SOAP UI RESPONSE.
could you please help
Solved! Go to Solution.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @deepthireddy :
Hope you will get help from below code 🙂
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def holder = groovyUtils.getXmlHolder( "SOAP Request#Response" )
def nodes = holder.getDomNodes( "//*" )
def XMLlist = []
for( node in nodes )
{
if(!(node.getNodeName().toString().contains("m:serviceCodeEnglishDescription") || node.getNodeName().contains("m:serviceCodeFrenchDescription") || node.getNodeName().contains("m:transpromoStatus")) ){
def value = com.eviware.soapui.support.xml.XmlUtils.getNodeValue( node )
if((value!=null))
{
if( !(value.isAllWhitespace()))
XMLlist.add(value)
}
}
}
def Slist = XMLlist.size()
log.info "SOAP UI RESPONSE" + XMLlist
Click "Accept as Solution" if my answer has helped,
Remember to give "Kudos" 🙂 ↓↓↓↓↓
Thanks and Regards,
Himanshu Tayal
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yes the script is working.
Thank you so much
