Property Transfer: if node doesn't exist choose value N/A to write in file
- 6 years ago
Thanks for your time and effort but it didn't work for me. I've looked at it with a senior developper and we've found out that for my case it's actually as you had stated in the beginning. The code inside the brackets are actually far more easy than everything that has been written on the internet! ;-)
Also, your last comments were also correct. I needed to change the property for the source in result. :-)
My code looks like this:
import com.eviware.soapui.impl.wsdl.teststeps.registry.PropertyTransfersStepFactory import groovy.json.JsonSlurper import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep //response for BU def responseBU = context.expand( 'GET THE DATA WITH THE PICK AND CHOOSE ACTION IN READYAPI' ) def result = "N/A" //response for ENT def responseENT = context.expand( 'GET THE DATA WITH THE PICK AND CHOOSE ACTION IN READYAPI' ) if (responseBU == null || responseBU.toString().isAllWhitespace()) { result = responseENT.toString() } return result
the steps are like this:
soap request (xml answer)
groovy script
property transfer: source for TypeEnterprise = Groovy script, Property=result
datasink: declared 3 properties where off 1 is called Type, separator = #, Encoding = UTF-8
datasource loop
I just want to add that the existing intellisense is not working correctly. When I autocomplete (ctrl + spacebar) to see what I can choose in the menu, "isAllWhitespace" is not present. Strange thing ....
Also, we've added the isAllWhitespace as the first time we saw that responseBU gave an empty response on a response that was equal to Enterprise. So you really need to say to Groovy that the string may not be empty otherwise it's writing the empty string too.