Здесь вам нужно сохранить полученный Http-ответ в локальном хранилище сообщений для последующей проверки. Вместо извлечения полезной нагрузки в переменную вы можете добавить имя для полученного сообщения:
http(httpActionBuilder -> httpActionBuilder
.client(sutClient)
.receive()
.response()
.messageType(MessageType.JSON)
.name("operationResponse")
.extractFromHeader(HttpMessageHeaders.HTTP_STATUS_CODE, "statusCode"));
Вы можете получить доступ к названному содержимому сообщения позже на следующих этапах тестирования.
echo("citrus:message(helloMessage.payload())")
Для более сложной логики c я бы добавил пользовательское тестовое действие и получил бы доступ к хранилищу сообщений, чтобы загрузить сообщение по его имени:
action(new AbstractTestAction() {
@Override
public void doExecute(TestContext context) {
// do something with stored message
Message message = context.getMessageStore().getMessage("operationResponse");
}
})
Кстати, я заметил опечатку в вашем примере кода, где вы используйте «operationReponse» и «operationResponse».