• SoapUI Pro Project Solution Collection-XML assert


    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 Values
    The following table lists what the nodeName and the nodeValue properties will return for each node type:
    
    Node Type    nodeName returns    nodeValue returns
    Document    #document    null
    DocumentFragment    #document fragment    null
    DocumentType    doctype name    null
    EntityReference    entity reference name    null
    Element    element name    null
    Attr    attribute name    attribute value
    ProcessingInstruction    target    content of node
    Comment    #comment    comment text
    Text    #text    content of node
    CDATASection    #cdata-section    content of node
    Entity    entity name    null
    Notation    notation name    null
    NodeType    Named Constant
    1           ELEMENT_NODE
    2           ATTRIBUTE_NODE
    3           TEXT_NODE
    4           CDATA_SECTION_NODE
    5           ENTITY_REFERENCE_NODE
    6           ENTITY_NODE
    7           PROCESSING_INSTRUCTION_NODE
    8           COMMENT_NODE
    9           DOCUMENT_NODE
    10          DOCUMENT_TYPE_NODE
    11          DOCUMENT_FRAGMENT_NODE
    12          NOTATION_NODE

    from the soapui you can assert your response xml from the below way:

    image

    the default provide script as below:

    import com.eviware.soapui.support.XmlHolder
    
    def 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 .

  • 相关阅读:
    2019New XTOOL X100 PAD钥匙编程器:有啥好用的吗?
    AUTEL MaxiSys MS906BT常见问题解答:修改速度限制器,输入VIN号码
    Autel MaxiAP AP200:功能,特性,评论
    OBDSTAR X300 PRO3详细评论
    Autel MaxiIM IM608:关于如何更新和一些评论
    Autel MaxiAP AP200:功能,特性,评论,
    OBDSTAR X300 PRO3详细评论
    k8s 基础总结
    k8s yaml 编写
    k8s 生命周期概况
  • 原文地址:https://www.cnblogs.com/seniortestingdev/p/3983615.html
Copyright © 2020-2023  润新知