【发布时间】:2019-05-23 20:13:09
【问题描述】:
我正在使用 Java DSL 和 TestRunner 来定义我的测试,并且基本上希望有以下步骤:
- 使用 http 客户端从 REST 端点加载 JSON 结构
- 将接收到的 JSON-Structure 提取到 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 代码。
【问题讨论】:
标签: citrus-framework