Я пытаюсь создать скрипт автоматизации тестирования с использованием groovy. Мой шаблон ввода похож на переменную myXMLgroovy xml синтаксический анализ и модификация
Я читаю входные данные из файла excel и заменяю значения и запускаю запрос через SOAPUI.
мой код, как этот
def myXML ='''<soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="xyz.org/common" xmlns:fin="xyz.org/finance">
<fin:myBalance>
<com:loginName>test</com:loginName>
<fin:params>
<fin:name value="username"/>
<fin:Id value="12345"/>
<fin:nickname value="usr1"/>
</fin:params>
</fin:myBalance>
</soapenv:Body> '''
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def reqHolder = groovyUtils.getXmlHolder("InputReq#Request")
reqHolder.namespaces['soapenv']= 'http://schemas.xmlsoap.org/soap/envelope/';
reqHolder.namespaces['com']= 'xyz.org/common';
reqHolder.namespaces['fin']= 'xyz.org/common';
reqHolder.setNodeValue("//fin:myBalance[1]/${newTag.getContents()}[1]",
"${newValue.getContents()}");
Если я хочу, чтобы изменить значение узла это работает отлично. Но я не могу найти способ изменить атрибут с помощью reqHolder. Скажем, я хочу изменить fin: Id value = "12345" to "6789"
Есть ли способ изменить?
Проще говоря, вы должны использовать свойства. то есть Have ' ' и определить настраиваемое свойство в идентификаторе теста с любым желаемым значением. Каждый раз, когда вы можете обновлять вручную или автоматически с помощью groovy script 'context.testCase.setPropertyValue ('Id', newValue)' –
Rao