RestAssured日志配置问题:成功测试无请求日志,需配置全场景日志
解决RestAssured仅在测试失败时打印日志的问题
你的问题核心在于使用了enableLoggingOfRequestAndResponseIfValidationFails方法——这个方法仅当验证失败时才会输出请求和响应日志,所以测试成功时自然看不到日志输出。要实现无论成功失败都打印日志,只需替换为enableLoggingOfRequestAndResponse方法即可。
修改后的完整代码
package com.example; import io.restassured.RestAssured; import io.restassured.config.LogConfig; import io.restassured.filter.log.LogDetail; import org.testng.annotations.Test; import static io.restassured.RestAssured.given; public class TestDemo { @Test(description = "Verify that the Get Post API returns correctly") public void verifyGetAPI() { // 配置LogConfig,强制打印全部请求/响应日志,不受测试结果影响 LogConfig logConfig = LogConfig.logConfig() .enableLoggingOfRequestAndResponse(LogDetail.ALL) .enablePrettyPrinting(true); given() .config(RestAssured.config().logConfig(logConfig)) .baseUri("https://jsonplaceholder.typicode.com") .header("Content-Type", "application/json") .when() .get("/posts/1") .then() .statusCode(200); } }
关键配置说明
enableLoggingOfRequestAndResponse(LogDetail.ALL):强制输出所有请求和响应的日志,无论测试成功或失败。LogDetail.ALL指定打印日志的详细程度为全部内容,包含请求头、请求体、响应头、响应体等。- 若只需单独打印请求或响应日志,可分别使用
enableLoggingOfRequest(LogDetail.ALL)或enableLoggingOfResponse(LogDetail.ALL)做针对性配置。
内容的提问来源于stack exchange,提问作者codenow
相关产品推荐
相关产品推荐

