如何从Allure 2报告中移除日志输出,仅保留@Step标注内容?
移除Allure报告中控制台输出,仅保留@Step内容的解决方法
方案1:移除冗余的日志代码
既然AllureRestAssured已经能生成格式规整的请求响应步骤模块,直接删除代码中的.log().all()即可避免重复内容。修改后的代码如下:
def "some test"() { when: "do some request" Request.getRequest() } class Request { @Step("GET https://some.request") static Response getRequest() { return given() .filter(new AllureRestAssured()) .when() .get(conf.url()) } }
方案2:保留本地控制台日志但不传入Allure
如果需要保留控制台日志用于本地调试,可指定日志输出仅到System.out,同时确保Allure不捕获该输出流。调整代码如下:
class Request { @Step("GET https://some.request") static Response getRequest() { return given().log().all().log().to(System.out) .filter(new AllureRestAssured()) .when() .get(conf.url()) } }
注:部分Allure版本默认会捕获标准输出,若此方案无效,优先选择方案1。
方案3:通过Allure配置禁用控制台日志捕获
在src/test/resources目录下创建或修改allure.properties文件,添加以下配置项,直接禁止Allure收集控制台输出:
allure.console.capture=false
此配置生效后,即使代码保留.log().all(),Allure报告也只会展示@Step注解和AllureRestAssured生成的步骤内容。
内容的提问来源于stack exchange,提问作者irina
相关产品推荐
相关产品推荐

