我有需要验证的响应方法,所以我已经包含了条件语句,但是我得到的脚本错误为“类型不匹配:无法从HttpClientResponseActionBuilder转换为布尔”,
if(http()
.client(todoClient)
.receive()
.response(HttpStatus.OK).validate("$.statusCode", "200")) {
For Report Purpose
}
else {
For Report Purpose
}
是否有更好的方法来实现我正在寻找的东西。
此致 BJ
答案 0 :(得分:1)
您的代码无法编译,因为http()Java fluent API在此处未返回boolean
值。所以你不能把它放在if
声明中。
您可以使用conditional
测试操作容器。我正在考虑将Http状态响应代码保存到测试变量中。然后,您可以根据该响应代码值使用多个条件容器。
http().client(todoClient)
.receive()
.response()
.extractFromHeader(HttpMessageHeaders.HTTP_STATUS_CODE, "statusCode");
conditional()
.when("${statusCode} = 200")
.actions(echo("Everything OK!"));
conditional()
.when("${statusCode} = 404")
.actions(echo("NOT FOUND!"));