我使用的是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);
}或者
ConnectionConfig connectionConfig = new ConnectionConfig()
.closeIdleConnectionsAfterEachResponseAfter(10L, TimeUnit.MILLISECONDS);
RestAssuredConfig restAssuredConfig = new RestAssuredConfig().connectionConfig(connectionConfig);我还试着添加
.queryParam("SO_TIMEOUT", 10)或者
.queryParam("CONNECTION_MANAGER_TIMEOUT", 10)似乎什么都不起作用。它不会中止我的查询
发布于 2021-03-02 00:22:15
下面的配置对我有效。
RestAssured.config=RestAssuredConfig.config()
.httpClient(HttpClientConfig.httpClientConfig()
.setParam("http.socket.timeout",1000)
.setParam("http.connection.timeout", 1000));https://stackoverflow.com/questions/46889970
复制相似问题