Java 如何配置Restasured LogConfig以将请求和响应写入文本文件

Java 如何配置Restasured LogConfig以将请求和响应写入文本文件,java,rest,rest-assured,Java,Rest,Rest Assured,我是一个完全没有经验的人。我喜欢将请求和响应写入文本文件。我不想在每次测试中重复代码来提取和写入请求和响应,而是喜欢在设置方法中配置restasuredconfig,将请求和响应重定向到文本文件 有人能帮我理解我的代码中缺少了什么吗?我正在尝试配置LogConfig,将请求和响应写入StringWriter,以便使用它写入所需的文件 我试过谷歌的几个例子,但没有一个有用 请注意,下面的示例是一个原型,我暂时在其中执行sysout,一旦代码运行,我就可以将其写入文本文件 //这是一个示例代码,我从

我是一个完全没有经验的人。我喜欢将请求和响应写入文本文件。我不想在每次测试中重复代码来提取和写入请求和响应,而是喜欢在设置方法中配置restasuredconfig,将请求和响应重定向到文本文件

有人能帮我理解我的代码中缺少了什么吗?我正在尝试配置LogConfig,将请求和响应写入StringWriter,以便使用它写入所需的文件

我试过谷歌的几个例子,但没有一个有用

请注意,下面的示例是一个原型,我暂时在其中执行sysout,一旦代码运行,我就可以将其写入文本文件

//这是一个示例代码,我从中调用configure log方法//configureRequestLogging

RequestSpecification request = given();
RequestSpecification logRequest = configureRequestLogging(request);
//该方法预计将SOP请求和响应。但我总是变得空虚

private static RequestSpecification configureRequestLogging(RequestSpecification request) {
    RequestSpecification requestSpec;
    final StringWriter writer = new StringWriter();
    PrintStream captor = new PrintStream(new WriterOutputStream(writer), true);
    requestSpec = request.config(RestAssuredConfig.config().logConfig(LogConfig.logConfig().defaultStream(captor)))
    .log().all();

    System.out.println(writer.toString());

    return requestSpec;
    }

如果您希望将文件输出与控制台输出分开(例如,提供更多详细信息),则可以创建新的日志记录筛选器(界面
筛选器
) 您可以在这里指定打印流

@Override
public Response filter(FilterableRequestSpecification requestSpec, FilterableResponseSpecification responseSpec, FilterContext ctx) {
    RequestPrinter.print(requestSpec, requestSpec.getMethod(), requestSpec.getUri(), LogDetail.ALL, new PrintStream(new FileOutputStream("example.txt", true)), true);
    return ctx.next(requestSpec, responseSpec);
}
此外,您还可以添加内置的RequestLoggingFilter和所需的打印流