需要有关验证响应方法的帮助

时间:2017-09-27 18:23:02

标签: citrus-framework

我有需要验证的响应方法,所以我已经包含了条件语句,但是我得到的脚本错误为“类型不匹配:无法从HttpClientResponseActionBuilder转换为布尔”,

    if(http()
            .client(todoClient)
            .receive()
            .response(HttpStatus.OK).validate("$.statusCode", "200")) {
            For Report Purpose
      }
    else {
        For Report Purpose
    }

是否有更好的方法来实现我正在寻找的东西。

此致 BJ

1 个答案:

答案 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!"));