Используйте расширение свойства . Поместите повторно используемый контент XML в свойство и включите его все, или используйте XPath для выбора узлов, которые вы хотите включить.
SoapUI предоставляет общий синтаксис для динамической вставки (" развернуть ") значения свойств во время обработки. Синтаксис следующий:
${[scope]propertyName[#xpath-expression]}
, где область действия может быть одним из следующих буквальных значений:
#Project#
- ссылается на свойство Project (ссылочные свойства в конкретном проекте SoapUI) #TestSuite#
- ссылается на свойство TestSuite в содержащем TestSuite - #TestCase#
- ссылается на свойство TestCase в содержащем TestCase #MockService#
- ссылается на свойство MockService в содержащем MockService #Global#
- ссылается на глобальное свойство. Находится в File> Preferences> Global Properties tab. Ссылка на свойства во всех проектах #System#
- ссылка на системное свойство. Находится в Справке> Свойства системы. #Env#
- ссылается на переменную среды [TestStep name]#
- ссылается на свойство TestStep
Многие из областей, конечно, будут работать только в том случае, если они доступны, т.е. вы не можете использовать область #MockService#
в сценарии TestCase, поскольку нет MockService для доступа.
Если область действия не указана, свойство разрешается следующим образом:
- Проверить текущий контекст (например, TestRunContext) для свойства с совпадающим именем
- Проверить соответствие глобального свойства
- Проверить соответствие системного свойства
Если расширение свойства дополнительно включает выражение XPath, оно будет использоваться для выбора соответствующего значения из указанного свойства значение (которое должно содержать XML), например, в следующем примере можно "извлечь" значение автора из предыдущего ответа с помощью:
${Search Request#Response#//ns1:Item[1]/n1:Author[1]/text()}