小编Tom*_*omH的帖子

在REST Assured中,如何设置超时?

我正在使用RestAssured 2.8.0并且我正在尝试设置自己的超时(对于网关超时),所以如果我在X毫秒后没有得到响应我想要中止.

我试过了:

public static ValidatableResponse postWithConnectionConfig(String url, String body, RequestSpecification requestSpecification, ResponseSpecification responseSpecification) {
    ConnectionConfig.CloseIdleConnectionConfig closeIdleConnectionConfig = new ConnectionConfig.CloseIdleConnectionConfig(1L, TimeUnit.MILLISECONDS);
    ConnectionConfig connectionConfig = new ConnectionConfig(closeIdleConnectionConfig);
    RestAssuredConfig restAssuredConfig = new RestAssuredConfig().connectionConfig(connectionConfig);


    return given().specification(requestSpecification)
            .body(body)
            .config(restAssuredConfig)
            .post(url)
            .then()
            .specification(responseSpecification);

}
Run Code Online (Sandbox Code Playgroud)

要么

ConnectionConfig connectionConfig = new ConnectionConfig()
            .closeIdleConnectionsAfterEachResponseAfter(10L, TimeUnit.MILLISECONDS);
RestAssuredConfig restAssuredConfig = new RestAssuredConfig().connectionConfig(connectionConfig);
Run Code Online (Sandbox Code Playgroud)

我也尝试添加

.queryParam("SO_TIMEOUT", 10)
Run Code Online (Sandbox Code Playgroud)

要么

.queryParam("CONNECTION_MANAGER_TIMEOUT", 10)
Run Code Online (Sandbox Code Playgroud)

似乎没什么用.它不会中止我的查询

httpclient java-8 rest-assured

16
推荐指数
3
解决办法
8137
查看次数

标签 统计

httpclient ×1

java-8 ×1

rest-assured ×1