[英]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.