0

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

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

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

问候 BJ

4

1 回答 1

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!"));
于 2017-10-04T19:52:31.420 回答