Я использую Java DSL с TestRunner для определения своих тестов и в основном хочу выполнить следующие шаги:
- Загрузите JSON-структуру из конечной точки REST с помощью http-клиента
- Извлечь полученную JSON-структуру в переменную Citrus
- Затем я хотел бы по какой-то причине манипулировать этой переменной с помощью некоторого Java-кода, но я не могу сделать ее доступной в своем Java-коде.
В основном так:
http(builder -> builder.client("client").send()
.get("/config").header("Content-Type", "application/json"));
http(builder -> builder.client("client").receive()
.response(HttpStatus.OK).messageType(MessageType.JSON)
.extractFromPayload("$", "myConfig"));
Установлена переменная:
echo("${myConfig}")
показывает желаемый результат. Но как я могу получить доступ к этой переменной, чтобы что-то с ней сделать на чистом Java?
Я попробовал такой подход:
variable("chgConfig", MyClassABC.myStaticFunctionXZY("${myConfig}");
И я уже пытался использовать Citrus Function
, но я не знаю, как вызывать/включать его с помощью Java DSL.
Возможно, есть какой-нибудь способ получить фактический TestContext и передать его моему Java-коду? ?
Насколько я понял, при использовании TestRunner все сразу выполняется, и я подумал: о, это круто, так как я могу просто вставить стандартный Java-код, когда это необходимо.