java Rest Assured -失败时重试请求

jgwigjjp  于 2023-03-28  发布在  Java
关注(0)|答案(2)|浏览(173)

示例测试:

@Test
public void shouldGetRoutesList() {
    Response response =
            given()
                    .headers("RequestId", 10)
                    .headers("Authorization", accessToken)
                    .contentType(ContentType.JSON).
            expect()
                    .statusCode(HttpURLConnection.HTTP_OK).
            when()
                    .get("address");
    String responseBody = response.getBody().asString();
    System.out.println(responseBody);
    logger.info("Log message");
}

问题是,有时从服务响应等于500错误.这是因为应用程序错误,它的应用程序故障,所以我想添加临时.变通办法重试.get,如果服务返回500.我在想ifdo-while,但我知道这不是很聪明的方法.有人可以建议一些解决方案?
换句话说-如果statusCode=!HTTP_OK,我想重试整个测试(或仅.get)

xghobddn

xghobddn1#

如果你正在使用TestNG,那么你可以实现你自己的retryAnalyzer:http://toolsqa.com/selenium-webdriver/retry-failed-tests-testng/
对于其他框架,“不太聪明”的解决方案就是你的答案,捕获异常并重试,直到退出条件匹配。
不幸的是,RestAssured没有重试机制。

pw136qt2

pw136qt22#

您还可以使用SpringRetry库和RetryTemplate类。

相关问题