У меня есть тестовый шаг soapUI, который создает объект в моей базе данных. XML-ответ, который я получаю, содержит узел, на который мне нужно ссылаться на следующем шаге, а именно мне нужно значение после ключа 'guid'
<flex.messaging.io.amf.ASObject serialization="custom">
<unserializable-parents/>
<map>
<default>
<loadFactor>0.75</loadFactor>
<threshold>48</threshold>
</default>
<int>64</int>
<int>28</int>
<string>key</string>
<boolean>value</boolean>
<string>key</string>
<boolean>value</boolean>
<string>key</string>
<string>value</string>
<string>key</string>
<boolean>value</boolean>
<string>key</string>
<null/>
<string>key</string>
<null/>
<string>key</string>
<null/>
<string>key</string>
<null/>
<string>key</string>
<null/>
<string>key</string>
<null/>
<string>key</string>
<boolean>value</boolean>
<string>key</string>
<boolean>value</boolean>
<string>key</string>
<null/>
<string>key</string>
<string>value</string>
<string>key</string>
<string>value</string>
<string>key</string>
<object-array/>
<string>key</string>
<flex.messaging.io.amf.ASObject serialization="custom">
<unserializable-parents/>
<map>
<default>
<loadFactor>0.75</loadFactor>
<threshold>12</threshold>
</default>
<int>16</int>
<int>3</int>
<string>key</string>
<boolean>value</boolean>
<string>key</string>
<boolean>value</boolean>
<string>key</string>
<boolean>value</boolean>
</map>
<flex.messaging.io.amf.ASObject>
<default>
<inHashCode>false</inHashCode>
<inToString>false</inToString>
<namedType>package/class</namedType>
</default>
</flex.messaging.io.amf.ASObject>
</flex.messaging.io.amf.ASObject>
<string>key</string>
<string>value</string>
<string>key</string>
<boolean>value</boolean>
<string>key</string>
<string>value</string>
<string>key</string>
<flex.messaging.io.amf.ASObject serialization="custom">
<unserializable-parents/>
<map>
<default>
<loadFactor>0.75</loadFactor>
<threshold>12</threshold>
</default>
<int>16</int>
<int>5</int>
<string>key</string>
<boolean>value</boolean>
<string>key</string>
<boolean>value</boolean>
<string>key</string>
<boolean>value</boolean>
<string>key</string>
<boolean>value</boolean>
<string>key</string>
<boolean>value</boolean>
</map>
<flex.messaging.io.amf.ASObject>
<default>
<inHashCode>false</inHashCode>
<inToString>false</inToString>
<namedType>package/class</namedType>
</default>
</flex.messaging.io.amf.ASObject>
</flex.messaging.io.amf.ASObject>
<string>guid</string>
<string>818f40db-c217-46ed-a6a2-7c830d894a95</string>
<string>key</string>
<string>value</string>
<string>key</string>
<null/>
<string>key</string>
<string>value</string>
<string>key</string>
<string>value</string>
<string>key</string>
<null/>
<string>key</string>
<null/>
</map>
<flex.messaging.io.amf.ASObject>
<default>
<inHashCode>false</inHashCode>
<inToString>false</inToString>
<namedType>package/class</namedType>
</default>
</flex.messaging.io.amf.ASObject>
</flex.messaging.io.amf.ASObject>
Я видел различные проблемы по этой теме, но, похоже, ни одна из них не работает для меня, я полагаю, что из-за ошибки с моей стороны правильно понять синтаксис, который ожидает soapUI.
Если первый шаг теста называется «stepOne», и мне нужно сослаться на ответ XML в «stepTwo», почему:
def temp = context.expand( '${stepOne#Response//map[1]/string[27]}' );
...не работает. Я предполагаю, что неправильно ссылаюсь на ответ. Я бы даже согласился на способ сослаться на весь ответ на следующем шаге. Затем я мог бы просмотреть его и найти нужное мне значение, используя groovy.
Должен ли я вместо этого пытаться передать собственность? Если это так, источником будет stepOne, а ответом будет ResponseAsXml, целью будет stepTwo, но я действительно не хочу назначать весь xml свойству, я бы хотел назначить ТОЛЬКО нужный мне узел (карта [1]/ строка[27]).
@Sebi- Да, я пробовал это, я просматривал эту страницу бессчетное количество раз. Я могу передать весь ответ во временное свойство уровня TestCase, но я не могу создать код для правильной ссылки на это свойство в окне скрипта... вот что у меня есть сейчас ' def temp = ${#TestCaseName# tempProperty} ', но это не работает. Я хотел бы ввести весь xml, чтобы я мог работать со случаями, когда нужный мне узел не всегда является 27-й «строкой» в «карте». У меня также возникают проблемы с объявлением пространства имен (см. структуру xml). Если вы можете привести реальный пример на основе XML, который я включил для любого из этих методов, я был бы признателен, но я получил все, что мог из учебники по мыльному интерфейсу.