Я пытаюсь автоматизировать с использованием groovy script. Вот мой сценарий. Я не могу назвать namspace.не удалось извлечь атрибут из xml в groovy script
<ns2:contactPref xmlns="namespace 1" xmlns:ns2="name space 2">
<ns2:Information>
<value>Pass</value>
</ns2:Information>
<ns2:contactPreference>
<ns2:contactPointRel>
<contactPoint xs:type="Tele" xmlns:xs="namespace 3">
<cat>mob</cat>
<med>Int</med>
</contactPoint>
</ns2:contactPointRel>
</ns2:contactPreference>
</ns2:contactPref>
Теперь я хочу, чтобы принести атрибут в ContactPoint тег для этого я попытался как этот
groovyUtils=new com.eviware.soapui.support.Groovyutills(context)
def xPath=XPathFactory.newInstance().newXPath()
def type=context.expand('${GetResponse#Response#//*:contactPoint/@xs:type}')
log.info type
попробовал этот
def type=context.expand('${GetResponse#Response#//*:contactPoint/@type}')
, и я также пытался это
def resp=groovyUtils.getXmlHolder("GetResponse#Response")
def type1=(String)xPath.evaluate('//:contactpoint/@xs:type',resp,xPathConstants.STRING)
, но без помощи. пожалуйста, кто-нибудь скажите мне, как это сделать?
Благодаря может у скажите мне, какой метод я должен использовать, это xpath.evaluate или context.expnad? – LowCool
Привет, я пробовал для обоих как 'context.expand ('$ {GetResponse # Response # // *: contactPoint/@ {namespace 3} type}')' для этого он печатает строку как есть. и для '(String) xPath.evaluate ('//: contactpoint/@ {namespace 3} type', resp, xPathConstants.STRING)' показывая ошибку – LowCool
Я отредактировал ответ, чтобы добавить код, который работает. Пожалуйста, попробуйте – Anshul