Soapui PRO project solution collection-XML assert

Source: Internet
Author: User
Tags soapui groovy script

In soapui the XML object used here is from org. W3C. Dom package

So you need to read this article carefully before we can use XML object very well.

Http://www.w3schools.com/dom/

Http://www.w3schools.com/dom/dom_nodetype.asp

Node Types - Return ValuesThe following table lists what the nodeName and the nodeValue properties will return for each node type:Node Type    nodeName returns    nodeValue returnsDocument    #document    nullDocumentFragment    #document fragment    nullDocumentType    doctype name    nullEntityReference    entity reference name    nullElement    element name    nullAttr    attribute name    attribute valueProcessingInstruction    target    content of nodeComment    #comment    comment textText    #text    content of nodeCDATASection    #cdata-section    content of nodeEntity    entity name    nullNotation    notation name    null
NodeType    Named Constant1           ELEMENT_NODE2           ATTRIBUTE_NODE3           TEXT_NODE4           CDATA_SECTION_NODE5           ENTITY_REFERENCE_NODE6           ENTITY_NODE7           PROCESSING_INSTRUCTION_NODE8           COMMENT_NODE9           DOCUMENT_NODE10          DOCUMENT_TYPE_NODE11          DOCUMENT_FRAGMENT_NODE12          NOTATION_NODE

From the soapui you can assert your response XML from the below way:

The default provide script as below:

import com.eviware.soapui.support.XmlHolderdef holder = new XmlHolder( messageExchange.responseContentAsXml )holder.namespaces["ns1"] = "http://ws.cdyne.com/WeatherWS/"def node = holder.getDomNode( "//ns1:GetCityForecastByZIPResponse[1]" )assert node != null

In the instance, it provide these objects we can use:

XmlHolder holder=new XmlHolder("");                Node[] nodes=holder.getDomNodes("xpath");                for(int k=0;k<nodes.length;k++){            NodeList nodelist=nodes[k].getChildNodes();            for(int j=0;j<nodelist.getLength();j++){                                Node node=nodelist.item(j);                Log.info("node type :"+node.getNodeType());                Short type=node.getNodeType();                if(type==Node.ELEMENT_NODE){                    String nodename=node.getNodeName();                    int csize=node.getChildNodes().getLength();                    String nodevalue=null;                    if(csize>0){                        nodevalue=node.getFirstChild().getNodeValue();                    }                }                                                            }        }

Use the above groovy script to assert the response XML content as you want. Hope this save your time.

Soapui PRO project solution collection-XML assert

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.