[英]How to receive PDF from HTTP Post in Citrus and write it to a file?
[英]How do I access a citrus http receive message body in Java?
我同时使用黄瓜和柑橘,在我的@Then
定义中,我具有柑橘HTTP响应:
@CitrusResource TestRunner runner;
runner.http(builder -> {
final HttpClientResponseActionBuilder rab =
builder.client("citrusEndpointAPI").receive()
.response(HttpStatus.OK).messageType(MessageType.JSON)
.contentType(MediaType.APPLICATION_JSON_VALUE);
有没有一种方法可以将返回的JSON消息正文存储到Java JSON对象中?
您可以使用本地消息存储。 在测试过程中,每条消息应保存到本地内存中。 您可以稍后在该测试用例中通过其名称访问存储的消息:
receive(action -> action.endpoint("sampleEndpoint")
.name("sampleMessage")
.payload("..."));
echo("citrus:message(sampleMessage.payload())");
请注意,我们将收到的消息命名为sampleMessage
。 您也可以在自定义测试操作中通过测试上下文访问消息存储。
context.getMessageStore().getMessage("sampleMessage");
除此之外,您还可以在Java DSL中使用自定义消息验证回调。 在这里,您可以完全访问收到的消息内容。
receive(action -> action.endpoint("sampleEndpoint")
.validationCallback((message, context) -> {
//Do something with message content
message.getPayload(String.class);
}));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.