Forum Discussion

sfr's avatar
sfr
New Contributor
6 years ago

Create a script assertion with groovy script

how can we create a script assertion with groovy script ?
  • ChrisA's avatar
    6 years ago

    This is a really vague question and one probably more suited to reading the SoapUI Guides.

     

    That said, you have a number of of options, you can add a script assertion to the test step itself or you could create a Groovy test step to script one or many assertions.

     

    Below is a really simplistic assertion that is bound to the test step itself....

     

    import com.eviware.soapui.support.XmlHolder
    
    // Grab the response from the step itself as XML
    def holder = new XmlHolder( messageExchange.responseContentAsXml )
    
    // You need to define the namepsace and you should be able to find this is in the reponse.
    holder.namespaces["ns3"] = "urn:someorg:domain:1"
    
    // Grab the node of interest from the XML Holder
    def node = holder.getDomNode( "//ns3:customerInfo[1]/ns3:surname[1]" );
    
    // Quick check to make sure the value exists
    assert node != null
    
    // Pull out the surname
    def surname= holder.getNodeValue( "//ns3:customerInfo[1]/ns3:surname[1]" );
    
    // Make your assertion
    assert (surname.contains('Smith'));