Leonidaas
15 years agoNew Contributor
XPath doesnt work probably??
Hi all,
hope someone can Help me solving my Problem with getting the right XPath for a special case in my GroovyScript Test Step.
After calling the Request and gettin a Response i got the GroovyScript Test Step.
I try to Check if there appears this ErrorMsg("Nothing in there.") and do something then.
I tried nearly every possible XPath for //SOAP-ENV:Fault/detail/CommandCustomerDataRequestFailure/errorMsg but cant it.
Log.info with this Path gives me a Null Message.
I have this SOAP-Response in ErrorCase:
------------------------------
-----------------------------------
Groovy:
------------------------------------
---------------------------------
I use soapUI 3.6.1 non-pro.
hope someone can Help me solving my Problem with getting the right XPath for a special case in my GroovyScript Test Step.
After calling the Request and gettin a Response i got the GroovyScript Test Step.
I try to Check if there appears this ErrorMsg("Nothing in there.") and do something then.
I tried nearly every possible XPath for //SOAP-ENV:Fault/detail/CommandCustomerDataRequestFailure/errorMsg but cant it.
Log.info with this Path gives me a Null Message.
I have this SOAP-Response in ErrorCase:
------------------------------
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring xml:lang="en">FaultMsg</faultstring>
<detail>
<CommandCustomerDataRequestFailure xmlns="http://XXX/YY">
<ads>401413</ads>
<port>0-1-5</port>
<errorMsg>Nothing in there.</errorMsg>
</CommandCustomerDataRequestFailure>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
-----------------------------------
Groovy:
------------------------------------
//all the def stuff
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def holder = groovyUtils.getXmlHolder( "Request1#Response" )
}
def getResponseFilename(name) {
date = new Date()
dateFormat = new java.text.SimpleDateFormat('yyyyMMdd-kkmmssms')
shortDate = dateFormat.format(date)
respFilename = shortDate + "-" + name + "-response.xml"
}
// closure referes to Drucken.call
def Drucken ={
....
....
....
....
}
//if-else content
if (context.expand('${Request1#Response#//SOAP-ENV:Fault/detail/CommandCustomerDataRequestFailure/errorMsg')=="Nothing in there.")
{
Drucken.call( 'C:/nothingthere' )
log.info "Nothing there"
}
else
{
Drucken.call( 'C:/!Error' )
log.info "Error"
}
---------------------------------
I use soapUI 3.6.1 non-pro.