Forum Discussion

AAB's avatar
AAB
Regular Contributor
6 years ago

Property Transfer: if node doesn't exist choose value N/A to write in file

Hi,   I've a project where I want to compare responses. therefore I'm using the Property Transfer to put the response in a file with DataSink. Now in the PorpertyTransfer I need to add my namespa...
  • AAB's avatar
    AAB
    6 years ago

    Hi HimanshuTayal 

     

    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.