繁体   English   中英

使用Groovy在XML响应中查找具有自定义字段的html元素

[英]Finding html element with custom field in XML response using groovy

在SOAP UI XML响应中,我具有如下元素:

<option selected="selected" value="5">Premium</option>

我正在尝试在XML响应中查找具有自定义字段值的元素。 获取值为“ 5”且text = Premium的元素的“ selected”属性的“ selected”值。

我正在做类似下面的事情。 但这给了我一个[]答复。

def sortByValue= resp.depthFirst().option.findAll{it.@selected=="selected" && it.text()=='Premium'}
log.info sortByValue

 def sortByValue= resp.depthFirst().option.findAll{it.@value=="5" && it.text()=='Premium'}
log.info sortByValue

回复我

  [option[attributes={value=5}; value=[Premium]]]

我无法获得所选商品的价值

有人可以让我知道如何进行这项工作吗?

这样就足够了吗?

def xml = '''\
<div>
    <select>
        <option value="1">Regular</option>
        <option selected="selected" value="5">Premium</option>
        <option value="7">Gold</option>    
    </select>
</div>
'''

def parsed = new XmlParser().parseText(xml)
parsed.'**'.option.findAll { 
    it.'@selected' == 'selected' && it.text() == 'Premium' 
}

尝试这个... :)

 def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)

        def holder =  groovyUtils.getXmlHolder("TestStepName#Response")
        def optionNode = holder.getDomNode("//option")
        def optionNodeAttributes = optionNode.getAttributes()

        log.info optionNodeAttributes.getNamedItem("selected").getNodeValue()
        log.info optionNodeAttributes.getNamedItem("value").getNodeValue()
        log.info holder.getNodeValue("//option")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM