繁体   English   中英

如何在Rest-Assured中设置等待响应的时间?

[英]How to setup time to wait for response in Rest-Assured?

反应需要很长时间。 如何在有保证的情况下等待响应时间?

过去我使用过等待性,它允许您在启动另一个呼叫之前等待服务的响应。

https://github.com/awaitility/awaitility

您可以返回提取的响应,然后等待状态码/正文返回值。

@Test
public void waitTest() throws Exception {
    Awaitility.await().atMost(5, TimeUnit.SECONDS).until(() -> this.getStatus() == 200)
}

public int getStatus() {
    return given()
        .accept(ContentType.JSON)
        .get(url)
        .then()
        .extract()
        .statusCode();
}

您在这堂课上宣布了最长时间

public interface Constants {

Long MAX_TIMEOUT = 3000l;

}

在这个类上,您实现接口

   public class BaseTest implements Constants {

      @BeforeClass
      public static void setup() {

      ResponseSpecBuilder resBuilder = new ResponseSpecBuilder();
      resBuilder.expectResponseTime(Matchers.lessThan(MAX_TIMEOUT));
      RestAssured.responseSpecification = resBuilder.build();
}

最后,您可以使用服务员策略

public class SimulationTest extends BaseTest {

@Test
public void checkStatus200() {
    given()
    .when()
        .get()
    .then()
        .statusCode(200)
    ;
}
}   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM