使用 Rest-assured 集合 Allure 运行完用例之后,在生成的报告中只有断言信息,没有请求的日志信息。而当我们的用例失败时,特别是接口失败时,请求日志是分析原因的第一手资源。那如何将 Rest-assured 产生的日志存入 Allure 里,并且能和用例一一对应起来呢?
在使用 Rest-assured 集合 Allure 运行完用例之后,查看生成的报告信息如下:
我们可以看到在生成的报告中只有断言信息,而没有请求的日志信息,而当我们的用例失败时,特别是接口失败时,请求日志是分析原因的第一手资源;
其实Rest-assured是有请求日志的,可以通过在given()和then()后面加上.log().all()来打印全部的日志信息:
那么问题来了,如何将这打印出来的日志信息都"转移"到 Allure 报告中呢?并且能和用例一一对应起来,然后就开始了探索之路~
首先来看一下 Allure 报告可以如何展示日志,在学习 Allure 的过程中发现 Allure有添加附件展示的功能,那么我就直接想到将日志能存入文件然后添加到报告附件不就可以了吗?由此,Allure 端的解决方向确定。
接下来就是要想法办将 Rest-assured 产生的日志存入文件了;
整体思路:
【Rest-assured打印日志】- 【Rest-assured日志存入文件】- 【文件以附件形式传入Allure】- 【Allure展示附件日志】
先看一下Allure 添加附件的两种方法:
@Attachment:在方法上添加注解@Attachment,方法的返回值就会作为附件上传,可添加展示文本和附件类型
@Attachment(value = "Page screenshot", type = "image/png")
Allure.addAttachment:通过addAttachment方法指定要添加的附件和展示信息
public static void addHttpLogToAllure() {
try {
Allure.addAttachment("接口请求响应日志",
new FileInputStream("src/main/resources/test.log"));
} catch (Fil