Как сохранить Soap Ответное сообщение в строке, используя цитрусовые рамки - PullRequest
0 голосов
/ 14 января 2020

У меня есть ситуация, когда мне нужно сохранить мой SOAP ответ в строке в случае успеха.

soap(soapActionBuilder -> soapActionBuilder.client("xyzclient").receive().messageType(MessageType.XML).validate("xapth validation", "Success"));

Приведенный выше код работает, если мы получили ответ об успехе, но теперь мне нужно чтобы сохранить этот SOAP ответ в строке и вернуть его.

Я не уверен, как я могу это сделать. если у кого-то есть идеи, пожалуйста, поделитесь, я новичок в цитрусовых. Заранее спасибо.

1 Ответ

0 голосов
/ 20 января 2020

Если вы хотите получить какое-либо значение из тела ответа, вы можете использовать метод extractFromPayload. Этот метод принимает два параметра:

  1. path - путь к XML элементу
  2. variable - для сохранения элемента в переменной для дальнейшего использования в цитрусовом тесте.

Пример использования:

soap().client("client")
.receive()
.extractFromPayload("//Foo/bar","foobar");

Теперь вы можете использовать переменную foobar следующим образом: ${foobar}

echo("Extracted var: ${foobar}")
...